Сценарий оболочки для проверки соединения через 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 скрипт.

Другие вопросы по тегам