Я пытаюсь создать сценарий, который проверяет, открыт ли мой конкретный порт и может ли он быть подключен.
Я попытался сделать это с помощью netcat
nc -vz localhost 25565
, но это говорит только о том, открыт ли порт.
Мне нужно проверить, может ли порт быть подключен. Я попытался через telnet:
sleep 2 | telnet localhost 25565
Он подключается к порту и затем через 2 секунды выходит.
Дело в том, есть ли способ сохранить, если соединение было успешно или нет, чтобы затем сделать, если или во время
Здесь происходит несколько вещей.
Во-первых, приложение может прослушивать localhost , но не на вашем внешнем адаптере, поэтому возможно, что вы можете подключиться к localhost , но другие не смогут. По этой причине при тестировании вы должны использовать IP-адрес вашего компьютера, который виден в сети, а не localhost . Это должно быть указано в выходных данных 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
.