Быстрая проверка открытого порта
Следующее работает как положено. (не хочу использовать nmap) Мне нужно использовать команду nc (или любую другую встроенную CentOS) в сценарии оболочки, чтобы проверить порт 6379 удаленного сервера. Я хочу, чтобы скрипт быстро завершился, если ответ не был получен менее чем за 1 секунду. Но кажется, что nc будет ждать слишком долго, прежде чем выйти с кодом выхода 1
Как мне "быстро" проверить, прослушивает ли порт?
# time nc -z 1.2.3.4 1234
real 0m21.001s
user 0m0.000s
sys 0m0.000s
# echo $?
1
# time nc -z 1.2.3.4 6379
Connection to 1.2.3.4 6379 port [tcp/*] succeeded!
real 0m0.272s
user 0m0.000s
sys 0m0.008s
# echo $?
0
1 ответ
Решение
nc
имеет -w
опция для настройки таймаута. Пытаться
time nc -w 1 -z 1.2.3.4 1234