Сценарий оболочки для проверки соединения через telnet
Я пытаюсь сделать scipt, который проверяет, открыт ли мой собственный конкретный порт и может ли он быть подключен.
Я пытался сделать это с помощью Netcat
nc -vz localhost 25565
но это только говорит мне, если порт открыт.
Мне нужно проверить, можно ли подключить порт, который я пробовал через telnet:
sleep 2 | telnet localhost 25565
Это подключается к порту, а затем через 2 секунды вышел.
Дело в том, есть ли способ сохранить, если соединение было успешно или нет, чтобы затем сделать, если или во время
1 ответ
Здесь происходит несколько вещей.
Во-первых, приложение может прослушивать локальный хост, но не внешний адаптер, поэтому вы можете подключиться к локальному хосту, но другие не смогут. По этой причине при тестировании вы должны использовать IP-адрес вашего компьютера, который виден в сети, а не на локальном хосте. Это должно быть указано в выводе ip addr show
,
Чтобы увидеть не только возможность подключения к порту, но и информацию о работающем на нем сервисе, я рекомендую nmap (заменить 192.168...
с вашим IP):
nmap -A 192.168.0.101 -p 25565
Или просто подтвердить, что приложение прослушивает этот порт:
netstat -tulpn |grep '\b25565\b'
Оба из них могут быть включены в while true; do ...; sleep 60; done
скрипт.