Dal momento che il tuo server si sta connettendo a un determinato IP, presumo che sarà a una porta di cui sei a conoscenza?
In ogni caso, netstat
o ss
sono progettati per fare quello che vuoi. Puoi fare lo stesso con entrambi i comandi:
netstat -n -t | awk '{print $5}' | grep A.B.C.D:n
ss -n -t | awk '{print $5}' | grep A.B.C.D:n
dove A.B.C.D
rappresenta un indirizzo IPv4 e n
rappresenta un numero di porta a cui il server si sta connettendo sul lato remoto. Per esempio:
ss -n -t | awk '{print $5}' | grep 10.137.54.22:3389
Oppure, se vuoi solo sapere che la connessione è stata stabilita:
ss -n -t | awk '{print $5}' | grep -q 10.137.54.22:3389 && echo "CONNECTION MADE"
Se non si conosce il numero di porta a cui si sta tentando di connettersi, il lavoro sarebbe più difficile poiché TCP aprirà una porta su entrambi i lati della conversazione per i dati e i pacchetti ACK. In tal caso, è possibile richiedere semplicemente l'indirizzo IP per mostrare che è stata stabilita una connessione, che sia da o verso.
Infine, puoi eseguire questo ciclo in base al contenuto del tuo cuore da utilizzare come strumento di monitoraggio:
while true; do
ss -n -t | awk '{print $5}' | grep -q A.B.C.D:n && \
echo "CONNECTION MADE" && \
exit 0
sleep 1
done