Відповіді:
Днями я знайшов самоцвіт Hiddem від Microsoft, призначений для тестування портів:
"Portqry.exe - це утиліта командного рядка, яку ви можете використовувати для вирішення проблем з підключенням TCP / IP. Portqry.exe працює на комп'ютерах під керуванням Windows 2000, на комп'ютерах під керуванням Windows XP та на комп'ютерах під керуванням Windows Server 2003. Утиліта повідомляє про стан портів портів TCP та UDP на обраному вами комп'ютері. "
Яка версія Windows? Для Windows 8 / Server 2012 та новіших версій у PowerShell працює наступне:
Test-NetConnection 128.159.1.1 -Port 80
Деякі Googling також знайдуть альтернативи, які безпосередньо використовують .NET Framework (оскільки PowerShell дозволяє це робити) для систем, що мають нижчі версії Windows, які не будуть Test-NetConnection
доступні.
Якщо ви не проти використовувати сторонні утиліти, Nmap - це також дуже хороший друг, і він працює з командного рядка.
$connection = (New-Object Net.Sockets.TcpClient).Connect($target,$port); If ($connection.Connected) { $connection.Close() }
Використовуйте команду 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, але будьте уважні, деякі програмні засоби AV вважають це "інструментом злого хакера"
наступна команда перелічить усі порти, які використовуються на машині ...
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
>