Каков простой способ в 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 - это служебная программа командной строки, которую можно использовать для устранения проблем с подключением 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
Вывод содержит протокол, локальный адрес, внешний адрес и текущее состояние.
Использовать 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 - ваш друг.