Dado que su servidor se conecta a una determinada IP, supongo que será a un puerto del que también tenga conocimiento.
En cualquier caso, netstat
o ss
están diseñados para hacer lo que quieras. Puede hacer lo mismo con cualquier comando:
netstat -n -t | awk '{print $5}' | grep A.B.C.D:n
ss -n -t | awk '{print $5}' | grep A.B.C.D:n
donde A.B.C.D
representa una dirección IPv4 y n
representa un número de puerto al que se conecta su servidor en el lado remoto. Por ejemplo:
ss -n -t | awk '{print $5}' | grep 10.137.54.22:3389
O, si solo desea saber que la conexión está hecha:
ss -n -t | awk '{print $5}' | grep -q 10.137.54.22:3389 && echo "CONNECTION MADE"
Si no conoce el número de puerto al que está intentando conectarse, entonces el trabajo sería más difícil ya que TCP abrirá un puerto en ambos lados de la conversación para los paquetes de datos y ACK. En ese caso, podría simplemente buscar la dirección IP para mostrar que se ha realizado una conexión, ya sea desde o hacia.
Finalmente, puede enlazar esto con el contenido de su corazón para usarlo como su herramienta de monitoreo:
while true; do
ss -n -t | awk '{print $5}' | grep -q A.B.C.D:n && \
echo "CONNECTION MADE" && \
exit 0
sleep 1
done