Вопрос: В Windows, используя командную строку, как вы проверяете, открыт ли удаленный порт?


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


73
2017-07-02 18:01


Источник


Связанный: superuser.com/questions/11207/... - Pacerier


Ответы:


На днях я нашел hiddem gem от Microsoft, предназначенного для тестирования портов:

Portqry.exe

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


56
2017-07-02 18:30



Примечание. Попытка загрузить это из Microsoft вернула страницу, в которой говорится, что загрузка «больше не доступна». - dgw
@dgw Спасибо за это .. google показывает новую версию, если вы ищете `portray ', что я завтра выберу - Peter M
консольная версия microsoft.com/downloads/... и ui версия: download.microsoft.com/download/3/f/4/... Ref: support.microsoft.com/en-us/help/310099/... - Junior M


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

Test-NetConnection 128.159.1.1 -Port 80

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

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


37
2017-10-16 06:18



.Net: $connection = (New-Object Net.Sockets.TcpClient).Connect($target,$port); If ($connection.Connected) { $connection.Close() } - xXhRQ8sD2L7Z
На Win7 это не работает :-( - samsmith
@samsmith Вы говорите о команде в моем ответе или о комментарии одного ST8Z ...? Один в моем ответе только работает для Win8 / 2k12 и выше, и ответ говорит так же. - Iszi
Кажется, это Windows 8.1. Кажется, она не найдена в Windows 8 - Andy Krouwel
Отлично работает на Windows 10, и мне не нужно устанавливать какие-либо программы или добавлять какие-либо функции. Благодаря! :) - Steve Bauman


Используйте команду 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

23
2017-07-02 18:05



не работает для UDP. - Adriano Varoli Piazza
UDP без установления соединения. - Amalgovinus


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

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


7
2017-07-02 18:07





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

netstat -a

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

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


0
2017-07-11 13:05



Вопрос спрашивает об открытых портах на дистанционный пульт машина, а не локальная. - Chris S


использование Порт Windows netcat:

>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
>

0
2017-10-25 12:48





'netstat' - вы друг.


-4
2017-07-02 18:03



Локальный компьютер да, удаленный номер машины.
Этот ответ был опубликован перед редактированием, в котором указано, что речь идет о порту на удаленной машине.