Ponieważ twój serwer łączy się z określonym adresem IP, zakładam, że będzie to port, o którym również wiesz?
W każdym razie netstat
lub ss
są zaprojektowane tak, aby robić to, co chcesz. Możesz zrobić to samo z dowolnym poleceniem:
netstat -n -t | awk '{print $5}' | grep A.B.C.D:n
ss -n -t | awk '{print $5}' | grep A.B.C.D:n
gdzie A.B.C.D
oznacza adres IPv4 i n
numer portu, z którym serwer łączy się po stronie zdalnej. Na przykład:
ss -n -t | awk '{print $5}' | grep 10.137.54.22:3389
Lub, jeśli chcesz tylko wiedzieć, że połączenie zostało nawiązane:
ss -n -t | awk '{print $5}' | grep -q 10.137.54.22:3389 && echo "CONNECTION MADE"
Jeśli nie znasz numeru portu, z którym próbujesz się połączyć, zadanie byłoby trudniejsze, ponieważ TCP otworzy port po obu stronach konwersacji dla danych i pakietów ACK. W takim przypadku możesz po prostu grepować, aby adres IP pokazał, że nawiązano jakiekolwiek połączenie, niezależnie od tego, czy jest to połączenie z, czy z.
Wreszcie możesz zapętlić to do treści twojego serca, aby użyć go jako narzędzia do monitorowania:
while true; do
ss -n -t | awk '{print $5}' | grep -q A.B.C.D:n && \
echo "CONNECTION MADE" && \
exit 0
sleep 1
done