Эквивалент Ping для проверки, открыт ли порт

9

Как я могу проверить, если порт постоянно жив? Например, я мог бы использовать

ping 192.168.1.1 -t > results.txt

Это будет непрерывно пинговать 192.168.1.1, чтобы я мог следить за ним.
Есть ли эквивалентный инструмент или команда, которую я мог бы использовать для этого?

В настоящее время я использую telnet, но иногда хост отключает его. Мне нужно решение для Windows.

grassbl8d
источник
Это конкретный порт, который нужно проверить, например, порт 80 для http или порт 21 для ftp, или это конкретный IP-адрес, который необходимо проверить, т. Е. Чтобы проверить, доступен ли хост. Последнее - то, что делает ваш приведенный выше пример.
Крис
Я хочу проверить определенный порт, если он открыт.
grassbl8d
Поскольку «стандартный» пинг использует сообщения ICMP, а когда вы говорите о портах, вы, вероятно, думаете о TCP / IP, у вас есть несоответствие, которое вы не можете закрыть (ICMP и IP - очень разные протоколы). pingэто неправильный инструмент для мониторинга, вы должны использовать то, что генерирует тот тип трафика, который вам нужен для конкретной услуги. Пример: для мониторинга веб-сайта вы отправляете HTTP-запрос и т. Д.
Патрик Мевзек

Ответы:

13

Вы можете использовать netcat, если есть версия для Windows - в Linux я использую:

nc -z <host> <port>

Возвращает 0, если порт открыт. Запустите это в цикле, чтобы сделать его непрерывным.

Если Powershell доступен, см. Пример https://web.archive.org/web/20111102182913/http://poshcode.org/85 .

Эндрю
источник
2
Каждую секунду 01while (:); do nc -z HOSTNAME_HERE PORT_HERE; echo $?; sleep 1; done
проверяйте
ссылка больше не работает
Клинтон Уорд
@ClintonWard Обновлено с помощью заархивированной ссылки :)
Эндрю
5

Или используйте nmap с http://nmap.org , для Windows доступна версия.

Nmap -P порт хоста

или для хостов, не отвечающих на запросы ICMP,

nmap -P0 -p порт хоста

бэр
источник
5

Вы можете использовать nping из nmap как:

C:\>nping --tcp -p 80 192.168.1.1

где -pуказывает порт для сканирования (здесь: 80). Кроме того, вы можете использовать -Hдля сокрытия отправленных пакетов, чтобы показывать только ответы.

Murmel
источник
0

telnet <host> <port>проверит удаленный <host>на наличие прослушивателя TCP <port>.

dmourati
источник
0

Если вы хотите использовать стандартные утилиты командной строки, то TELNET подключится к порту для вас. С другой стороны, если служба отвечает, то TELNET может «зависнуть», ожидая, пока вы предоставите последовательность команд escape.

Если вы открыты для установки новых утилит командной строки, то PaPing работает так, как вы хотите . Это кроссплатформенный, и есть установщик Windows.

Джеспер М
источник