Поскольку ваш сервер подключается к определенному IP, я предполагаю, что это будет порт, о котором вы также знаете?
В любом случае netstat
или ss
предназначены для того, чтобы делать то, что вы хотите. Вы можете сделать то же самое с любой командой:
netstat -n -t | awk '{print $5}' | grep A.B.C.D:n
ss -n -t | awk '{print $5}' | grep A.B.C.D:n
где A.B.C.D
представляет адрес IPv4 и n
представляет номер порта, к которому ваш сервер подключается на удаленной стороне. Например:
ss -n -t | awk '{print $5}' | grep 10.137.54.22:3389
Или, если вы просто хотите знать, что соединение установлено:
ss -n -t | awk '{print $5}' | grep -q 10.137.54.22:3389 && echo "CONNECTION MADE"
Если вы не знаете номер порта, к которому вы пытаетесь подключиться, задание будет более сложным, так как TCP откроет порт с обеих сторон диалога для данных и пакетов ACK. В этом случае вы можете просто выполнить поиск IP-адреса, чтобы показать, что было установлено любое соединение, будь то с или с.
Наконец, вы можете зациклить это на вашем сердце, чтобы использовать его в качестве инструмента мониторинга:
while true; do
ss -n -t | awk '{print $5}' | grep -q A.B.C.D:n && \
echo "CONNECTION MADE" && \
exit 0
sleep 1
done