Практическая инструкция по управлению TCP- и UDP-портами в Windows: создание правил брандмауэра, удаление небезопасных правил, просмотр прослушиваемых портов, определение процесса по порту и устранение проблем с заблокированными подключениями.
Сетевой порт — это числовая точка подключения, которую использует приложение или системная служба Windows. Например, веб-сервер обычно прослушивает порт 80 для HTTP или порт 443 для HTTPS. Удаленный рабочий стол часто использует TCP-порт 3389, а DNS обычно работает через порт 53.
Когда говорят, что порт в Windows «открыт», обычно имеют в виду одну из двух ситуаций:
| Значение | Что это означает | Как проверить |
|---|---|---|
| Программа прослушивает порт | Приложение или служба ожидает входящие подключения на этом порту. | netstat, PowerShell, Монитор ресурсов |
| Брандмауэр разрешает порт | В Брандмауэре Защитника Windows есть правило, разрешающее трафик через этот порт. | Брандмауэр Защитника Windows, правила PowerShell |
Открытие портов может потребоваться для игровых серверов, локальных веб-серверов, доступа к базам данных, инструментов удаленного администрирования, общего доступа к файлам, сред разработки и некоторых P2P-приложений. Однако каждый открытый входящий порт может увеличить поверхность атаки компьютера.
25565 для сервера Minecraft или 3389 для удаленного рабочего стола.Графическая консоль брандмауэра — самый удобный и безопасный способ для большинства пользователей, потому что в ней хорошо видны тип правила, протокол, номер порта, сетевой профиль и имя правила.
Win + R, введите wf.msc и нажмите Enter.8080. Также можно указать диапазон, например 5000-5010.PowerShell удобен для администраторов и полезен, когда нужно быстро создать одинаковое правило брандмауэра на нескольких компьютерах.
New-NetFirewallRule -DisplayName "Allow TCP 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow -Profile Private
В этом примере открывается входящий TCP-порт 8080 только для сетевого профиля Private.
New-NetFirewallRule -DisplayName "Allow UDP 27015" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow -Profile Private
New-NetFirewallRule -DisplayName "Allow TCP 8080 All Profiles" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow -Profile Any
-Profile Any применяет правило к доменным, частным и общедоступным сетям. На ноутбуке это может открыть порт в Wi-Fi сетях отелей, аэропортов или кафе.
Открыть порты можно и через netsh. Этот способ работает в Windows 10 и Windows 11, а также удобен для batch-файлов.
netsh advfirewall firewall add rule name="Allow TCP 8080" dir=in action=allow protocol=TCP localport=8080 profile=private
netsh advfirewall firewall add rule name="Allow UDP 27015" dir=in action=allow protocol=UDP localport=27015 profile=private
netsh advfirewall firewall add rule name="Allow TCP 5000-5010" dir=in action=allow protocol=TCP localport=5000-5010 profile=private
Чтобы закрыть порт, обычно нужно сделать одно из двух: удалить или отключить правило брандмауэра, которое разрешает этот порт, и остановить приложение, прослушивающее порт. Если служба продолжает работать, порт может по-прежнему отображаться как LISTENING локально, даже если брандмауэр блокирует входящий трафик.
Win + R, введите wf.msc и нажмите Enter.Remove-NetFirewallRule -DisplayName "Allow TCP 8080"
Чтобы не удалять правило, а только отключить его:
Disable-NetFirewallRule -DisplayName "Allow TCP 8080"
netsh advfirewall firewall delete rule name="Allow TCP 8080" protocol=TCP localport=8080
wf.msc и отсортируйте или отфильтруйте входящие правила по локальному порту, протоколу или статусу Включено.
В Windows есть несколько встроенных инструментов для просмотра открытых портов и активных подключений. Самые полезные варианты — netstat, PowerShell, Монитор ресурсов и журналы Брандмауэра Защитника Windows.
Лучший вариант для быстрого списка прослушиваемых портов и PID процессов.
netstat -ano | findstr LISTENING
Удобен для фильтрации и скриптового просмотра активных TCP-слушателей.
Get-NetTCPConnection -State Listen
Подходит пользователям, которым удобнее графический интерфейс.
resmon
netstat -ano | findstr LISTENING
Вывод показывает протокол, локальный адрес, порт, состояние подключения и PID. Например:
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1234
В этом примере порт 8080 прослушивается, а идентификатор процесса — 1234.
netstat -ano
Get-NetTCPConnection -State Listen | Sort-Object LocalPort | Select-Object LocalAddress,LocalPort,OwningProcess
Get-NetUDPEndpoint | Sort-Object LocalPort | Select-Object LocalAddress,LocalPort,OwningProcess
Win + R, введите resmon и нажмите Enter.Если порт уже занят, другая программа может не запускаться или выдавать ошибку. Чтобы найти приложение, нужно сопоставить номер порта с PID, а затем определить программу по этому PID.
netstat -ano | findstr :8080
Посмотрите на последнее число в строке. Это идентификатор процесса.
tasklist /fi "PID eq 1234"
Замените 1234 на PID из предыдущей команды.
Get-Process -Id 1234
taskkill /PID 1234 /F
После создания правила брандмауэра нужно убедиться, что порт действительно доступен. Для успешной проверки необходимы три условия: служба должна прослушивать порт, правило брандмауэра должно разрешать трафик, а маршрутизация в сети должна быть настроена правильно.
Test-NetConnection 192.168.1.10 -Port 8080
Если в выводе указано TcpTestSucceeded : True, TCP-порт доступен с этого компьютера.
netstat -ano | findstr :8080
Get-NetFirewallPortFilter | Where-Object {$_.LocalPort -eq "8080"}
Ниже перечислены распространенные порты, которые могут встречаться при проверке открытых портов на компьютере с Windows. Не открывайте их для публичного доступа, если точно не понимаете, зачем они нужны.
| Порт | Протокол | Типичное назначение | Примечание по безопасности |
|---|---|---|---|
80 |
TCP | HTTP-трафик веб-сайтов | Обычно уместен только для настроенного веб-сервера. |
443 |
TCP | HTTPS-трафик веб-сайтов | Для публичных служб предпочтительнее HTTPS, а не HTTP. |
53 |
TCP/UDP | DNS | Не публикуйте рекурсивный DNS-резолвер в интернет. |
445 |
TCP | Общий доступ к файлам SMB | Не должен быть доступен из интернета. |
3389 |
TCP/UDP | Удаленный рабочий стол | Используйте VPN, надежную аутентификацию и политики блокировки учетных записей. |
5985 |
TCP | Windows Remote Management через HTTP | Используйте только в доверенных сетях. |
5986 |
TCP | Windows Remote Management через HTTPS | Требует правильной настройки сертификата. |
Если онлайн-проверка портов или другой компьютер по-прежнему не может подключиться, используйте этот список проверок.
| Проблема | Что проверить | Как исправить |
|---|---|---|
| Нет службы, которая прослушивает порт | netstat -ano | findstr :PORT |
Запустите приложение или службу, которая должна использовать порт. |
| Неверный протокол | TCP или UDP | Создайте правило для правильного протокола или отдельные правила для TCP и UDP. |
| Неверный сетевой профиль | Частный/Общедоступный/Доменный | Измените профиль правила или переключите тип сети на Частную, если это уместно. |
| Роутер блокирует входящий трафик | Настройки проброса портов | Пробросьте порт на правильный локальный IP-адрес. |
| Изменился локальный IP-адрес | Текущий IPv4-адрес компьютера | Используйте резервирование DHCP или статический IP для компьютера-сервера. |
| Провайдер использует CGNAT | WAN IP роутера и публичный IP | Запросите публичный IP, используйте IPv6 при наличии или VPN/туннель. |
| Сторонняя защита блокирует трафик | Настройки антивирусного брандмауэра | Добавьте разрешающее правило в стороннем брандмауэре или временно проверьте подключение с ним отключенным. |
netstat показывает приложения, которые прослушивают порты локально. Удаление правила брандмауэра блокирует входящий трафик, но не останавливает приложение. Остановите связанную службу или программу, если хотите, чтобы порт исчез из списка прослушиваемых.netstat -ano | findstr LISTENING. Для графического просмотра нажмите Win + R, выполните resmon, откройте вкладку Сеть и разверните Прослушиваемые порты.Для большинства пользователей лучший способ открыть порт — использовать Брандмауэр Защитника Windows в режиме повышенной безопасности через wf.msc. Этот интерфейс наглядный и снижает риск создания слишком широкого правила. Для администраторов быстрее и удобнее PowerShell, особенно при автоматизации.
Открывайте только те порты, которые действительно нужны, ограничивайте правила правильным сетевым профилем, используйте понятные имена правил и регулярно проверяйте прослушиваемые порты через netstat, PowerShell или Монитор ресурсов. Если служба должна быть доступна из интернета, тщательно защитите ее и не публикуйте чувствительные порты вроде SMB или удаленного рабочего стола без дополнительной защиты.