Как проверить, заблокирован ли порт на машине Windows?

Можно ли проверить с помощью ping-запросов localhost? Раз так затем TCP/IP должен быть прекрасным. Возможно, это имеет доменную установку брандмауэра, включенную это, это не должно иметь?

108
задан 19 February 2015 в 15:04
4 ответа

Так как Вы находитесь на машине Windows, эти вещи могут быть сделаны,

  • Выполните следующую команду и ищите ":3306" слушатель (Вы не упоминали UDP/TCP). Это подтвердит, что существует что-то работающее на порте.

    netstat-a-n

  • После этого если Вы ожидаете входящие соединения на этом порте и чувствуете, что брандмауэр может блокировать их, Вы могли запустить вход брандмауэра окон и проверить журналы на выделенные соединения

    • Перейдите к Windows Firewall, Расширенным настройкам
    • Нажмите на кнопку Settings рядом с "Соединением Местности"
    • Выберите "Отброшенные пакеты журнала"
    • Посмотрите на местоположение файла журнала (если не существующий определяют один),
    • Нажать "OK"
    • Теперь, когда попытка подключения сделана (предположение, что Вы знаете, когда это сделано), посмотрите на файл журнала для отбрасывания на порте 3306.
    • Если это будет замечено, то Вы захотите добавить исключение для этого порта.
  • Существует еще одна команда для проверки состояния брандмауэра
    (Обновление для пользователей Windows 7 - как отнесено Nick ниже - используют netsh advfirewall брандмауэр),

    состояние показа брандмауэра netsh

    • это перечислит заблокированные порты, а также активные порты прослушивания с ассоциациями приложения
  • Эта команда выведет деталь конфигурации брандмауэра Windows

    брандмауэр netsh показывает конфигурацию


Если у Вас есть активный блок (входящие соединения отбрасываются брандмауэром) после того, как Вы начинаете регистрироваться, необходимо видеть это в журнале.

При запуске приложения, которое слушает на 3 306, конфигурация брандмауэра должна показать его, чтобы быть Включенной. Если это не замечено, Вы, вероятно, избежали добавлять исключение с брандмауэром для разрешения этого приложения/сервиса.

Наконец, порт 3306 обычно используется для MySQL. Так, я предполагаю, что Вы выполняете сервер MySQL на этой машине окон. Необходимо поэтому видеть слушателя для 3 306 входящих соединений принятия. Если Вы не видите, что, необходимо работать с приложением (MySQL) для получения, который запустился сначала.

113
ответ дан 28 November 2019 в 19:20

Если Вы можете telnet к порту от локальной машины (использующий внешний IP-адрес), но не от другой машины - затем это блокируется где-нибудь между.

Обратите внимание, что брандмауэр на Вашей локальной машине мог предотвратить даже первое действие.

5
ответ дан 28 November 2019 в 19:20

NETSTAT сообщит вам, прослушивает ли порт , но не сообщит, является ли порт открытым для внешнего мира. Я имею в виду, что NETSTAT может показать, что 0.0.0.0 ПРОСЛУШАЕТ порт 3306, но брандмауэр все еще может блокировать этот порт, что препятствует внешним соединениям; поэтому недостаточно полагаться только на NETSTAT .

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

Есть много способов сделать это. выполните сканирование портов, но, поскольку вы упомянули, что работаете в Windows, я предлагаю утилиту командной строки Microsoft PortQry и графическую версию PortQryUI

Для проверки всех открытых портов:

portqry.exe -n #.#.#.#   

Чтобы проверить конкретный порт:

portqry.exe -n #.#.#.# -e #

Например, для тестирования веб-интерфейса маршрутизатора по адресу 192.168.1.1:

portqry.exe -n 192.168.1.1 -e 80

Что возвращает:

TCP port 80 (http service): LISTENING

Если при тестировании на локальном компьютере без запущенного HTTPD возвращается:

TCP port 80 (http service): NOT LISTENING

Использование утилиты PortScan вы получите один из 3 результатов.

  • Прослушивание означает, что сервер прослушивает указанный порт.
  • Отфильтрованный означает, что он получил пакет подтверждения TCP с установленным флагом сброса, который, вероятно, указывает на проблему брандмауэра или программного обеспечения
  • Не прослушивается означает, что он вообще не получил ответа.

telnet - это еще один параметр командной строки, который обычно устанавливается в ОС по умолчанию. Эту служебную программу командной строки можно использовать, чтобы быстро узнать, отвечает ли порт на сетевой запрос.

Чтобы использовать telnet , вы должны просто ввести следующую команду из командной строки:

telnet localhost 3306

Приведенная выше команда должна быстро указать, если порт 3306 на ] localhost отвечает.

24
ответ дан 28 November 2019 в 19:20

Ukusukela iPowerShell 4.0 onokuyisebenzisa umyalelo Test-NetConnection

Ukuba ufuna ukuvavanya iPort 3306 njengakumzekelo wakho umyalelo ngu

Test-NetConnection -ComputerName localhost -Port 3306

TechNet Test-NetConnection documentation

19
ответ дан 28 November 2019 в 19:20

Теги

Похожие вопросы