Назад | Перейти на главную страницу

Как в Windows с помощью командной строки проверить, открыт ли удаленный порт?

Каков простой способ в Windows проверить, проходит ли трафик на определенный порт на удаленном компьютере?

Какая версия винды? Для Windows 8 / Server 2012 и более поздних версий в PowerShell работает следующее:

Test-NetConnection 128.159.1.1 -Port 80

Некоторые поисковые запросы также будут предлагать альтернативы, которые напрямую используют .NET Framework (поскольку PowerShell позволяет это сделать) для систем, работающих под управлением более ранних версий Windows, в которых не будет Test-NetConnection доступный.

Если вы не прочь использовать сторонние утилиты, Nmap также очень хороший друг, и он работает из командной строки.

На днях я нашел жемчужину hiddem от Microsoft, предназначенную для тестирования портов:

Portqry.exe

"Portqry.exe - это служебная программа командной строки, которую можно использовать для устранения проблем с подключением TCP / IP. Программа Portqry.exe работает на компьютерах под управлением Windows 2000, компьютерах под управлением Windows XP и компьютерах под управлением Windows Server 2003. Утилита сообщает о состоянии портов TCP и UDP на выбранном вами компьютере ».

Используйте команду telnet для подключения к серверу через указанный порт и посмотрите, можно ли установить соединение.

Успех:

$ telnet my_server 25
220 my_server ESMTP Postfix

Потерпеть поражение:

$ telnet my_server 23632
Connecting To my_server...Could not open connection to the host, on port 23632:
Connect failed

Telnet будет работать с TCP.

Netcat - лучший инструмент для такого рода вещей, включая UDP, но будьте осторожны, некоторые антивирусные программы считают его «злым хакерским инструментом».

следующая команда выведет список всех портов, используемых на машине ...

netstat -a

Вывод содержит протокол, локальный адрес, внешний адрес и текущее состояние.

Документация Netstat на microsoft.com

Использовать netcat порт Windows:

>nc -zvv www.google.com 80
www.google.com [108.177.96.103] 80 (http) open
sent 0, rcvd 0
>

>nc -zvv www.google.com 888
www.google.com [108.177.96.147] 888 (?): TIMEDOUT
sent 0, rcvd 0: NOTSOCK
>

netstat - ваш друг.