Как проверить открыт порт или нет в Windows 10 — вопрос, который возникает у пользователей при настройке серверов, сетевых приложений или устранении проблем с подключением. Открытые порты позволяют программам обмениваться данными с сетью, но их неправильная конфигурация может стать причиной уязвимостей или сбоев. В этой статье разберём проверенные способы диагностики: от встроенных инструментов системы до специализированных утилит.
В Windows 10 проверить статус порта можно несколькими методами: через командную строку CMD, утилиту netstat, PowerShell или сторонние программы вроде Nmap. Каждый способ имеет свои плюсы. Например, netstat покажет активные подключения, а Telnet — доступность удалённого порта. Начнём с самого простого.
Способ 1: Проверка через командную строку (CMD)
Самый быстрый способ — использовать netstat в командной строке. Эта утилита входит в состав и отображает все активные подключения, порты и связанные с ними процессы.
Откройте CMD от имени администратора: нажмите Win + X и выберите «Командная строка (администратор)» или «Windows PowerShell (администратор)». Введите команду:
netstat -ano | findstr :ПОРТ, где вместо ПОРТ укажите номер интересующего порта (например, 80 или 443). Параметр -ano показывает номер процесса (PID), который использует порт.
Если порт открыт и используется, вы увидите строку с его номером, состоянием (LISTENING — ожидает подключения, ESTABLISHED — установлено соединение) и PID. Если результатов нет — порт закрыт или не задействован.
Чтобы увидеть все открытые порты, введите netstat -ano | findstr LISTENING. Это отфильтрует только порты в режиме ожидания подключений.
| Команда | Описание | Пример результата |
|---|---|---|
telnet 192.168.1.1 80 | Проверка порта 80 на устройстве с IP 192.168.1.1 | Пустой экран или сообщение «Подключение к…» — порт открыт. «Не удалось подключиться» — закрыт. |
telnet google.com 443 | Проверка порта 443 на сервере google.com | Если соединение установлено — порт доступен. |
telnet localhost 3306 | Проверка локального порта 3306 (MySQL) | Ответ зависит от работы сервиса на ПК. |
Способ 2: Проверка доступности удалённого порта
Если нужно проверить, открыт ли порт на удалённом сервере или устройстве в сети, используйте Telnet. Этот протокол помогает установить соединение с указанным портом и определить его доступность.
Сначала активируйте Telnet в Windows (по умолчанию он отключён). Зайдите в «Панель управления» → «Программы и компоненты» → «Включение или отключение компонентов Windows» и поставьте галочку напротив «Клиент Telnet». После этого откройте CMD и введите:
telnet IP_АДРЕС ПОРТ, где IP_АДРЕС — адрес устройства (например, 192.168.1.1), а ПОРТ — номер порта (например, 3389 для RDP).
Если Telnet не подходит (например, на некоторых версиях он работает нестабильно), используйте Test-NetConnection в PowerShell. Запустите PowerShell и введите:
Test-NetConnection IP_АДРЕС -Port ПОРТ. Например: Test-NetConnection 192.168.1.1 -Port 22.
Способ 3: Использование для локальной диагностики
PowerShell предлагает больше возможностей для анализа портов, чем CMD. С его помощью можно получить детальную информацию о сетевых подключениях и состояниях портов.
Чтобы увидеть все открытые порты на локальном компьютере, выполните:
Get-NetTCPConnection -State Listen— покажет все порты в режиме прослушивания.Get-NetTCPConnection -LocalPort ПОРТ— проверит конкретный порт (например,Get-NetTCPConnection -LocalPort 3389).Get-Process -Id (Get-NetTCPConnection -LocalPort ПОРТ).OwningProcess— определит, какая программа использует порт.
Эти команды полезны, если нужно не только проверить статус порта, но ияснить, какое приложение его блокирует.
Способ 4: Проверка через сторонние утилиты
Если встроенные инструменты кажутся ограниченными, воспользуйтесь специализированными программами. Они часто предлагают более удобный интерфейс и расширенные функции.
- Nmap — мощный сканер портов для анализа сети. Скачайте и установите утилиту, затем выполните команду в
CMD:nmap -p ПОРТ IP_АДРЕС. Например:nmap -p 80 192.168.1.1. - PortQry — утилита от Microsoft, которая проверяет доступность портов на удалённых устройствах. Скачайте её с официального сайта и запустите:
portqry -n IP_АДРЕС -e ПОРТ. - TCPView — графическая утилита от Sysinternals, которая показывает все активные и подключения в реальном времени. Не требует командной строки.
⚠️ Внимание: Сканеры портов вроде Nmap могут быть заблокированы файрволом или антивирусом. Используйте их только для легитимных целей и на устройствах, к которым у вас есть разрешение на проверку.
Способ 5: Проверка через файрвол Windows
Если порт открыт в системе, но подключение не работает, проблема может быть в файрволе. Windows Defender Firewall блокирует несанкционированный доступ к портам по умолчанию.
Чтобы проверить, разрешен ли порт в файрволе:
- Откройте «Панель управления» → «Брандмауэр Windows Defender».
- Перейдите в раздел «Дополнительные параметры» (справа в меню).
- В левой части выберите «Правила для входящих подключений» или «Правила для исходящих подключений».
- Просмотрите список правил или отфильтруйте его по номеру порта.
| Тип правила | Описание | Пример |
|---|---|---|
| Входящее правило | Разрешает или блокирует входящие подключения к порту | Порт 22 (SSH) — разрешить для локальной сети |
| Исходящее правило | Контролирует исходящие подключения с компьютера | Порт 80 (HTTP) — разрешить для всех программ |
| Пользовательское правило | Созданное вручную правило для конкретного порта или программы | Порт 3389 (RDP) — разрешить для IP 192.168.1.100 |
Если нужный порт отсутствует в списке правил, его нужно добавить вручную. Для этого в «Дополнительных параметрах» файрвола выберите «Создать правило» и следуйте инструкциям мастера.
Способ 6: Проверка порта через маршрутизатор
Если вы проверяете порт для доступа из интернета (например, для веб-сервера или игрового сервера), убедитесь, что он открыт не только на компьютере, но и на маршрутизаторе.
Для этого:
- Войдите в панель управления роутером (обычно через
192.168.1.1или192.168.0.1в браузере). - Найдите раздел «Переадресация портов» (Port Forwarding) или «Виртуальный сервер».
- Убедитесь, что нужный порт привязан к локальному IP-адресу вашего компьютера.
Даже если порт открыт на ПК, без настроек на роутере он не будет доступен из внешней сети. Не забывайте проверять настройки маршрутизатора!
Способ 7: Практические советы по устранению проблем
Если порт не отвечает, проверьте следующие моменты:
Чек-лист по диагностике портов
Также убедитесь, что.service или программа, которая должна использовать порт, действительно запущена. Например, если вы проверяете порт 80 для веб-сервера, убедитесь, что Apache или Nginx работают.
Для диагностики можно использовать команду net start в CMD, чтобы проверить запущенные службы.
Часто задаваемые вопросы
Почему порт открыт, но подключение не работает?
Причин несколько: файрвол блокирует соединение, порт не настроен на роутере для внешнего доступа, или служба, использующая порт, не запущена. Проверьте настройки файрвола, переадресацию портов на маршрутизаторе и статус службы.
Можно ли проверить порт на удалённом сервере без Telnet?
Да, используйте Test-NetConnection в PowerShell или сторонние утилиты вроде Nmap, PortQry. Также можно воспользоваться онлайн-сервисами для проверки портов, но они менее надёжны.
Как узнать, какая программа использует порт?
В CMD выполните netstat -ano | findstr :ПОРТ, чтобы узнать процесса. Затем в «Диспетчере задач» на вкладке «Подробности» найдите процесс с этим PID. В PowerShell используйте команду Get-Process -Id (Get-NetTCPConnection -LocalPort ПОРТ).OwningProcess.
Что такое «порт в состоянии LISTENING»?
Состояние LISTENING означает, что порт открыт и ожидает входящих подключений. Это нормальное состояние для серверных приложений (например, веб-серверов, или баз данных).