Como o servidor está se conectando a um determinado IP, presumo que seja para uma porta que você também conhece?
De qualquer forma, netstat
ou ss
foram projetados para fazer o que você deseja. Você pode fazer o mesmo com qualquer um dos comandos:
netstat -n -t | awk '{print $5}' | grep A.B.C.D:n
ss -n -t | awk '{print $5}' | grep A.B.C.D:n
onde A.B.C.D
representa um endereço IPv4 e n
representa um número de porta à qual seu servidor está se conectando no lado remoto. Por exemplo:
ss -n -t | awk '{print $5}' | grep 10.137.54.22:3389
Ou, se você gostaria de saber que a conexão é feita:
ss -n -t | awk '{print $5}' | grep -q 10.137.54.22:3389 && echo "CONNECTION MADE"
Se você não souber o número da porta à qual está tentando se conectar, o trabalho será mais difícil, pois o TCP abrirá uma porta nos dois lados da conversa para os pacotes de dados e ACK. Nesse caso, você pode simplesmente fazer uma saudação para o endereço IP para mostrar que qualquer conexão foi feita, seja para / de.
Por fim, você pode fazer um loop disso no conteúdo do seu coração para usar como sua ferramenta de monitoramento:
while true; do
ss -n -t | awk '{print $5}' | grep -q A.B.C.D:n && \
echo "CONNECTION MADE" && \
exit 0
sleep 1
done