Оскільки ваш сервер підключається до певного 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