Проверка открытых портов на Windows — это то, что должен уметь делать каждый пользователь, работающий с сетью. Открытый порт означает, что твой компьютер активно слушает входящие соединения на этом номере порта, и знание того, какие порты открыты, помогает тебе выявить бреши в безопасности, решить проблемы с подключением и убедиться, что твои приложения работают правильно. Windows предоставляет несколько встроенных способов сделать это, плюс есть внешние инструменты, которые могут проверить, как твои порты выглядят снаружи.
Содержание
- Что такое открытые порты и почему они важны
- Использование команды Netstat для просмотра открытых портов
- Проверка портов с помощью PowerShell
- Проверка параметров брандмауэра Windows для правил портов
- Использование сканера портов на Windows
- Тестирование открытых портов снаружи
- Краткий справочник распространённых портов
- Закрытие портов, которые тебе не нужны
Что такое открытые порты и почему они важны
Каждый сетевой сервис на твоём компьютере привязан к номеру порта от 1 до 65535. Когда сервис работает и ждёт входящих соединений, этот порт «открыт». Когда там никто не слушает, порт «закрыт» и попытки входящих соединений отклоняются или игнорируются.
Вот почему это важно на практике:
- Аудит безопасности: Неожиданный открытый порт может означать, что вредоносный процесс, малвари или неправильно настроенный сервис подвергает твою машину опасности.
- Устранение неполадок: Если твой веб-сервер, игровой сервер или удалённый рабочий стол недоступен, первый вопрос — действительно ли порт открыт.
- Проверка брандмауэра: Твой брандмауэр Windows может блокировать порт, даже если сервис работает, или разрешать тот, который ты думал, что закрыл.
Использование команды Netstat для просмотра открытых портов
Команда
netstat
— это самый быстрый встроенный способ вывести список всех портов, на которых твоя машина Windows в данный момент слушает. Открой командную строку (поищи «cmd» в меню Пуск, щёлкни правой кнопкой и выбери «Запустить от имени администратора») и выполни:
netstat -ano
Флаги расшифровываются так:
-
-aпоказывает все активные соединения и слушающие порты. -
-nотображает адреса и номера портов в числовом виде вместо разрешения имён хостов (намного быстрее). -
-oдобавляет идентификатор процесса (PID), чтобы ты мог определить, какая программа владеет каждым портом.
Столбцы вывода это: Proto , Local Address , Foreign Address , State и PID . Ищи строки, где столбец State показывает LISTENING . Это твои открытые порты.
Чтобы сузить список только до слушающих портов:
netstat -ano | findstr LISTENING
Когда у тебя есть PID, который нужно исследовать, найди имя процесса с помощью:
tasklist /fi "PID eq 1234"
Замени
1234
на реальный PID из вывода netstat. Это точно скажет тебе, какой исполняемый файл слушает на этом порту.
Чтобы проверить, используется ли конкретный порт, объедини netstat с findstr:
netstat -ano | findstr :443
Проверка портов с помощью PowerShell
PowerShell предоставляет более чистую и удобную для скриптов альтернативу netstat. Открой PowerShell от имени администратора и выполни:
Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess | Sort-Object LocalPort
Это возвращает отсортированный список каждого TCP порта в состоянии LISTEN, включая локальный адрес и PID. Чтобы разрешить PID в имя процесса в одной команде:
Get-NetTCPConnection -State Listen |
Select-Object LocalPort,
@{Name="Process";Expression={(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).Name}} |
Sort-Object LocalPort
Ты также можешь протестировать, открыт ли конкретный порт на удалённом хосте прямо из PowerShell, используя
Test-NetConnection
:
Test-NetConnection -ComputerName example.com -Port 443
Если
TcpTestSucceeded : True
появляется в выводе, порт открыт и принимает соединения с твоей машины. Это удобно для проверки исходящей связи с твоего ПК Windows на сервер, а не только для проверки того, что открыто локально.
Проверка параметров брандмауэра Windows для правил портов
Брандмауэр Windows контролирует, какие порты разрешены входящие и исходящие. Сервис может слушать на порту локально, но если брандмауэр блокирует входящий трафик на этом порту, внешние клиенты не смогут его достичь. Вот как просмотреть правила брандмауэра.
Использование брандмауэра Windows Defender с расширенной безопасностью
-
Нажми
Win + R
, введи
wf.mscи нажми Enter. - Щёлкни Правила для входящих соединений в левой панели, чтобы увидеть правила, контролирующие трафик, входящий на твою машину.
- Щёлкни Правила для исходящих соединений , чтобы увидеть трафик, покидающий твою машину.
- Отсортируй по Включено , чтобы быстро увидеть, какие правила активны.
- Каждое правило показывает протокол (TCP/UDP), локальный порт, удалённый порт и действие (Разрешить/Блокировать).
Использование командной строки
Чтобы вывести список всех активных правил брандмауэра из командной строки:
netsh advfirewall firewall show rule name=all
Чтобы проверить, разрешён ли конкретный порт через брандмауэр:
netsh advfirewall firewall show rule name=all | findstr "LocalPort"
Официальная документация Microsoft по настройке брандмауэра Windows подробно рассматривает создание и управление правилами, если тебе нужно добавить или изменить правила.
Использование сканера портов на Windows
Встроенные инструменты отлично подходят для проверки собственной машины, но иногда тебе нужно отсканировать другой хост в сети, или ты хочешь получить визуальный обзор вместо необработанного вывода командной строки. Специализированный сканер портов заполняет эту пробел.
Nmap — это отраслевой стандарт для сканирования портов. Это бесплатно, с открытым исходным кодом, и доступно для Windows с официальной страницы загрузки Nmap . Установщик Windows включает Zenmap, графический интерфейс. Базовое сканирование хоста выглядит так:
nmap -sV 192.168.1.1
Флаг
-sV
пытается определить версию сервиса, работающего на каждом открытом порту. Это полезно для аудита сетевой безопасности на Windows, потому что ты можешь увидеть не только какие порты открыты, но и какое программное обеспечение за ними стоит.
Тестирование открытых портов снаружи
Вот критическое различие, которое пропускают большинство руководств: порт может слушать локально на твоей машине Windows, но всё ещё казаться закрытым для внешнего мира. Это происходит, когда твой маршрутизатор не перенаправил этот порт, или когда твой интернет-провайдер его блокирует. Чтобы узнать, что интернет на самом деле видит, тебе нужно протестировать с внешней точки.
Это именно то, что делает онлайн-инструмент проверки портов. Он инициирует TCP соединение с твоим IP адресом с удалённого сервера и сообщает, было ли соединение принято (Открыт), отклонено (Закрыт) или истекло время ожидания (Timeout). Никакой установки программного обеспечения не требуется, и это полностью обходит твой локальный брандмауэр, чтобы показать реальный внешний вид.
Узнай точно, какие порты открыты на твоей машине Windows
Наш бесплатный онлайн инструмент проверки портов тестирует TCP соединения с любым IP адресом или доменом с удалённого сервера, поэтому ты получишь истинный внешний вид при проверке открытых портов на Windows. Проверь один порт или пакетную проверку до 10 одновременно, с результатами за миллисекунды.
Проверь открытые порты →
Краткий справочник распространённых портов
Знание того, какие сервисы используют какие порты, экономит время при устранении неполадок. Вот порты, которые ты будешь встречать чаще всего на системе Windows:
| Порт | Протокол | Сервис | Распространённое использование на Windows |
|---|---|---|---|
| 80 | TCP | HTTP | Веб-серверы (IIS, Apache), локальные серверы разработки |
| 443 | TCP | HTTPS | Защищённые веб-серверы, обновления Windows |
| 3389 | TCP | RDP | Протокол удалённого рабочего стола, удалённое администрирование |
| 445 | TCP | SMB | Обмен файлами, сетевые общие папки Windows |
| 22 | TCP | SSH | OpenSSH (встроен в Windows 10/11) |
| 21 | TCP | FTP | Передача файлов, FTP сервис IIS |
| 25 | TCP | SMTP | Отправка писем, трансляция почтового сервера |
| 3306 | TCP | MySQL | Соединения баз данных MySQL/MariaDB |
| 5432 | TCP | PostgreSQL | Соединения баз данных PostgreSQL |
| 135 | TCP | RPC | Вызов удалённой процедуры Windows, DCOM |
Закрытие портов, которые тебе не нужны
Хороший мониторинг портов Windows — это не только поиск того, что открыто. Это решение того, что должно быть открыто, и закрытие всего остального. Вот практический подход:
- Выполни netstat -ano и составь список всех LISTENING портов. Сопоставь каждый PID с именем процесса, используя команду tasklist, показанную ранее.
-
Определи сервисы, которые тебе не нужны.
Например, если ты не используешь IIS, нет причины, чтобы порты 80 или 443 были открыты локально. Останови сервис через
services.msc. -
Проверь правила входящих соединений брандмауэра Windows.
Открой
wf.mscи отключи любые правила, разрешающие трафик на порты, которые ты определил как ненужные. - Проверь свой маршрутизатор. Правила перенаправления портов на твоём маршрутизаторе могут открыть порты, даже если брандмауэр Windows блокирует их на уровне ОС. Войди в панель администратора маршрутизатора и проверь перенаправленные порты.
- Переподтверди снаружи. После внесения изменений выполни внешнюю проверку портов снова, чтобы подтвердить, что порты больше не доступны.
Консультации по кибербезопасности CISA регулярно публикуют оповещения об определённых портах, которые эксплуатируются в реальности. Периодическая проверка этого списка — хорошая привычка, если ты управляешь серверами Windows.
Открытый порт локально означает, что сервис на твоей машине Windows активно слушает соединения на этом номере порта. Открытый порт снаружи означает, что внешние компьютеры в интернете действительно могут его достичь. Твой маршрутизатор, интернет-провайдер или брандмауэр Windows могут блокировать внешний доступ, даже когда порт слушает локально. Всегда тестируй с внешним инструментом, чтобы подтвердить реальный статус.
Это почти всегда вызвано одной из трёх причин: брандмауэр Windows имеет правило входящего соединения, блокирующее порт, твой маршрутизатор не имеет правила перенаправления портов для этого порта, или твой интернет-провайдер блокирует порт на уровне сети. Проверь каждый уровень по порядку. Распространённые блокируемые интернет-провайдерами порты включают 25 (SMTP), 80 и 443 на домашних соединениях.
Открытие RDP прямо в интернет — это значительный риск безопасности. Автоматизированные боты постоянно сканируют открытый порт 3389 и пытаются атаки перебором. Если тебе нужен удалённый доступ, используй VPN для доступа к своей сети в первую очередь, ограничь доступ RDP к конкретным IP адресам в брандмауэре Windows, или используй нестандартный порт в сочетании с надёжными паролями и аутентификацией на уровне сети (NLA).
Netstat показывает UDP порты, когда ты используешь флаг
-a
. Ищи строки, помеченные
UDP
в столбце Proto. Однако UDP не имеет рукопожатия соединения, как TCP, поэтому намного сложнее тестировать удалённо. Большинство онлайн инструментов проверки портов, включая инструменты на основе TCP, тестируют только TCP соединения. Для сканирования UDP, Nmap с флагом
-sU
— это практический вариант, хотя он требует прав администратора.
Открой
wf.msc
, щёлкни «Правила для входящих соединений», затем «Новое правило» справа. Выбери «Порт», выбери TCP или UDP, введи номер порта, выбери «Разрешить соединение», примени его к соответствующим профилям (Domain, Private, Public) и дай правилу имя. Для любителей командной строки используй:
netsh advfirewall firewall add rule name="MyPort" dir=in action=allow protocol=TCP localport=8080
.
Timeout означает, что инструмент проверки портов отправил запрос на TCP соединение, но не получил ответа в течение периода ожидания (обычно несколько секунд). Это обычно означает, что брандмауэр молча отбрасывает пакеты вместо того, чтобы активно их отклонять. Результат «Закрыто» означает, что хост отправил TCP reset, активно отклоняя соединение. Timeout более распространён со строгими конфигурациями брандмауэра, которые отбрасывают, а не отклоняют трафик.