Как определить, открыт ли порт на сервере Windows?



Я пытаюсь установить сайт под другой порт на сервере, но порт может быть закрыт брандмауэром. Есть ли способ ping out или in, на определенном порту, чтобы увидеть, открыт ли он?

649   14  

14 ответов:

предполагая, что это TCP (а не UDP) порт, который вы пытаетесь использовать:

  1. на самом сервере, используйте netstat -an чтобы проверить, какие порты прослушивает

  2. извне, просто telnet host port (или telnet host:port в системах Unix), чтобы увидеть, отказано ли соединение, принято или тайм-ауты

на этом последнем тесте, то в целом:

  • соединение отклонено означает, что на этом порту ничего не работает
  • принят означает, что что-то работает на этом порту
  • автоотключение означает, что брандмауэр блокирует доступ

на Win7 или Vista defaul опция "telnet" не распознается как внутренняя или внешняя команда,действующая программа или пакетный файл. Чтобы решить эту проблему, просто включите его : Нажмите кнопку Пуск, Панель управления, программы, а затем включите или выключите функции Windows. В списке, прокрутите вниз и выберите клиент Telnet и нажмите кнопку ОК

просто хотел добавить, что на Windows вы можете использовать

netstat -na | find "your_port"

, чтобы сузить результаты. Вы также можете фильтровать для LISTENING,ESTABLISHED,TCP и так далее. Однако имейте в виду, что это чувствительно к регистру.

Если вы проверяете извне, а не с самого сервера, и вы не хотите беспокоиться об установке telnet (поскольку он не поставляется с последними версиями Windows) или любого другого программного обеспечения, то у вас есть собственный PowerShell:

Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed

(к сожалению, это работает только с PowerShell 4.0 или новее. Чтобы проверить версию PS, введите $PSVersionTable.)


(Если у вас есть PSVersion

enter image description here

даже если вы можете обновить свою версию powershell, установив Windows Management Framework 4.0, это не сделать трюк для меня, Test-NetConnection командлет по-прежнему недоступен).

на машине Windows вы можете использовать программа от Microsoft, чтобы проверить, прослушивает ли приложение уже определенный порт, используя следующую команду:

portqry -n 11.22.33.44 -p tcp -e 80

мне это понравилось:

netstat -an | find "8080" 

из telnet

telnet 192.168.100.132 8080

и просто убедитесь, что брандмауэр отключен на этой машине.

Если telnet недоступен, загрузите шпаклевка. Это намного превосходящий telnet, ssh и т. д. клиент и будет полезен во многих ситуациях, а не только в этой, особенно если вы администрируете сервер.

вы хотите инструмент для этого? Есть сайт по адресу http://www.canyouseeme.org/. в противном случае вам понадобится другой сервер, чтобы перезвонить вам, чтобы узнать, открыт ли порт...

используйте это, если вы хотите видеть все используемые и прослушивающие порты на Windows server:

netstat -an |find /i "listening"

Смотрите все открытые, прослушиваемые, установленные порты:

netstat -a

на windows server вы можете использовать

netstat -an | where{$_.Contains("Yourport")}

psping от Sysinternals также очень хорошо

другой вариант:tcping.

например:

tcping host port

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

www.yougetsignal.com/tools/open-ports

вот что сработало для меня,

  • открыть командную строку
  • введите telnet
  • Microsoft Telnet>открыть

он подтвердит, открыт ли порт.

другая утилита, которую я нашел и хорошо и мало, а также, Командной Строки Программа Сканер Портов Версии 2.0 https://www.microsoft.com/en-us/download/details.aspx?id=17148

вы можете пинговать сервер и порт, и он сообщит вам состояние порта, есть утилита командной строки и пользовательский интерфейс для него.

Comments

    Ничего не найдено.