Как узнать, какое приложение использует порт в Windows

Альтернативный текст изображения: Окно PowerShell на Windows 11 с выполненной командой.
Ключевые моменты
- Порты связывают сетевой трафик с конкретными приложениями на компьютере. Один порт не может одновременно использоваться двумя приложениями.
- Команды netstat позволяют увидеть, какие порты открыты и какие процессы их используют. Используйте netstat -ab для имён процессов или netstat -aon для PID.
- CurrPorts от NirSoft — портативный бесплатный инструмент с удобным интерфейсом, который показывает все детали по каждому порту и процессу.
Как работают порты — кратко и ясно
IP-адрес указывает на устройство в сети. Порт указывает, какому приложению или службе на этом устройстве нужно передать пришедший сетевой пакет. Если два приложения попытаются слушать один и тот же порт на одном и том же IP, возникнет конфликт, и одному из приложений будет отказано в доступе к порту.
Метафора: IP — это адрес дома, порт — имя жильца, которому доставляют письмо.
Важно: большинство пользовательских задач не требуют ручной работы с портами. Но при разработке, отладке серверов, настройке локальных служб или устранении конфликтов портов эти навыки необходимы.
Быстрый обзор методов
- Встроенные инструменты Windows: Command Prompt, PowerShell, Terminal — команды netstat.
- Два режима netstat: с отображением имён процессов (-ab) и с отображением PID (-aon).
- Графический инструмент: CurrPorts (NirSoft) — показывает порт, процесс, PID, путь и даёт быстрые действия.
Использование встроенных средств, чтобы увидеть, что слушает порт
Ниже приведены два рабочих варианта с подробными инструкциями.
Вариант 1: посмотреть порты вместе с именами процессов
- Откройте Командную строку от имени администратора: нажмите «Пуск», введите “command” (или “Командная строка”), затем правой кнопкой мыши выберите “Запуск от имени администратора”.

Альтернативный текст изображения: Поиск Командной строки в меню Пуск и выбор “Запуск от имени администратора”.
- Введите команду и нажмите Enter:
netstat -ab- Подождите — вывод может занимать некоторое время. В выводе будет указан локальный адрес и порт (после двоеточия), а под ним — имя процесса, который его использует.
Совет: перенаправьте вывод команды в файл и ищите по номеру порта, чтобы быстрее найти нужную запись:
netstat -ab > C:\temp\netstat-output.txtПример: в выводе видно, что порт 49902 занят процессом picpick.exe — это подсказка, что порт используется приложением PicPick (редактор изображений), возможно для автообновлений.

Альтернативный текст изображения: Вывод команды netstat, показывающий, что порт 49902 занят процессом picpick.exe.
Вариант 2: посмотреть порты вместе с идентификаторами процессов (PID)
Если имя процесса не даёт ясного ответа (например, это системный или служебный процесс с общим именем), используйте PID, чтобы точно идентифицировать приложение.
- Запустите Командную строку от администратора и выполните:
netstat -aon- В колонке справа вы увидите PID (идентификатор процесса), связанный с каждой сетьевой записью.

Альтернативный текст изображения: Вывод netstat с выделенной колонкой PID.
- Откройте Диспетчер задач: правый клик по панели задач → “Диспетчер задач” или Ctrl+Shift+Esc.

Альтернативный текст изображения: Контекстное меню панели задач с пунктом “Диспетчер задач”.
Перейдите на вкладку “Подробности” (в Windows 8/10/11). В более старых версиях Windows аналогичная информация может находиться на вкладке “Процессы”.
Отсортируйте по столбцу PID и найдите нужный идентификатор. В колонке “Описание” можно получить подсказку о назначении процесса.

Альтернативный текст изображения: Диспетчер задач, отсортированный по PID.
- Если по имени всё ещё не ясно, щёлкните правой кнопкой по процессу → “Открыть расположение файла”, чтобы увидеть, где находится исполняемый файл.

Альтернативный текст изображения: Вариант контекстного меню процесса с пунктом “Открыть расположение файла”.
- После того как вы нашли файл, возможно, вы сможете завершить процесс (End Process), изменить его настройки или переустановить/удалить соответствующее приложение.
Важно: завершение системного процесса может привести к нестабильной работе системы. Перед завершением процесса убедитесь, что вы понимаете его назначение.
CurrPorts от NirSoft — удобная графика и подробные данные
Если вы предпочитаете графический интерфейс или хотите быстрее получить сводку, скачайте CurrPorts:
- Скачайте версию для вашей архитектуры (x86 для 32‑бит, x64 для 64‑бит).
- Программа портативная: распакуйте архив и запустите исполняемый файл.
В окне CurrPorts отсортируйте по столбцу “Local Port” (Локальный порт), найдите нужный порт и посмотрите все данные: имя процесса, PID, локальный адрес и порт, удалённый адрес, путь к исполняемому файлу, время открытия и т. п.

Альтернативный текст изображения: Окно CurrPorts с сортировкой по локальным портам.
Двойной клик по строке откроет окно с полной информацией о процессе и сетевом подключении.

Альтернативный текст изображения: Окно свойств процесса в CurrPorts с полной информацией: путь, PID, время и т.д.
CurrPorts также позволяет завершать процессы, закрывать соединения и экспортировать список в файл.
Типичные сценарии и варианты действий
- Если порт используется вашим приложением: измените конфигурацию приложения, чтобы использовать другой порт.
- Если порт используется сторонним приложением: проверьте, можно ли отключить опцию, которая заставляет приложение слушать порт (например, встроенный обновлятор), или перенастроить его.
- Если порт используется службой Windows: определите службу по PID и отключите/перезапустите её через services.msc или средствами администрирования.
- Если порт занят подозрительным процессом: проанализируйте путь до файла, выполните проверку антивирусом и при необходимости завершите процесс и удалите программу.
Когда эти методы не работают — возможные причины и обходные пути
- Процесс запускается под другим пользователем или системой: откройте Диспетчер задач с повышенными правами и включите отображение всех пользователей.
- Порт занят драйвером или компонентом ядра: он не будет иметь обычного PID. В таких случаях netstat может показать системный процесс “System” с PID 4; используйте специализированные утилиты (например, Sysinternals TCPView) или просмотрите установленные драйверы.
- Динамические и краткоживущие соединения: если соединение открывается и закрывается очень быстро, вы можете не успеть поймать его. Используйте мониторинг в реальном времени (CurrPorts, TCPView, Wireshark для сниффинга пакетов).
- Порты, занятые службами контейнера или WSL: проверьте настройки Docker/WSL и их сетевые правила.
Альтернативные инструменты и подходы
- TCPView (Sysinternals) — графический просмотр в реальном времени, показывающий TCP/UDP подключения и связанные процессы.
- PowerShell: командлеты Get-NetTCPConnection и Get-Process для сопоставления PID и процесса:
Get-NetTCPConnection -LocalPort 49902 | Format-List *
Get-Process -Id - Wireshark — для глубокого анализа сетевого трафика и выявления, кто инициирует соединения.
Быстрая методология (шаблон действий)
- Определите порт, вызывающий проблему.
- Выполните netstat -ab или netstat -aon, чтобы получить имя процесса или PID.
- Сопоставьте PID в Диспетчере задач и определите путь до файла.
- Оцените, можно ли изменить порт в настройках приложения или службы.
- Если нет — корректно остановите службу/процесс или перенастройте приложение.
- Проверьте, решена ли проблема, и зафиксируйте изменения в документации.
Чеклисты для ролей
Администратор:
- Запустить команду с правами администратора.
- Проверить PID и путь к исполняемому файлу.
- Определить влияние на систему перед завершением процесса.
- Обновить инвентаризацию приложений и портов.
Разработчик:
- Проверить конфигурацию приложения на указание порта.
- Реализовать возможность переопределения порта через переменные окружения или файлы конфигурации.
- Добавить логирование при запуске сервиса о занятом порте.
Служба поддержки:
- Спросить у пользователя номер порта и время появления ошибки.
- Попросить отправить вывод netstat или скриншот CurrPorts.
- При необходимости передать инцидент администратору.
Минимум безопасности и приватности
- Не завершайте процессы, назначение которых вам неизвестно без проверки: это может привести к потере данных или падению служб.
- Проверяйте путь до исполняемого файла: подозрительные расположения (временные папки, случайные каталоги в %USERPROFILE%) требуют особого внимания.
- При передаче информации о портах и процессах в службу поддержки избегайте отправки чувствительных данных (паролей, ключей). Экспортируйте только нужные поля.
Фактбокс — что важно помнить
- netstat — встроенный, не требует установки.
- CurrPorts и TCPView — портативные и удобные для администраторов.
- PID позволяет однозначно идентифицировать процесс в системе.
- Некоторые компоненты ядра не отображают обычный PID и требуют спецутилит.
Модель принятия решения (простая схема)
flowchart TD
A[Есть конфликт порта?] -->|Да| B{Можно изменить порт в приложении?}
B -->|Да| C[Изменить конфигурацию и перезапустить приложение]
B -->|Нет| D{Процесс принадлежит стороннему ПО или службе?}
D -->|Стороннее ПО| E[Отключить автофункции или переустановить ПО]
D -->|Служба| F[Остановить/перенастроить службу через services.msc]
C --> G[Проверить результат]
E --> G
F --> G
G --> H[Задача решена?]
H -->|Да| I[Зафиксировать изменения]
H -->|Нет| J[Использовать продвинутые инструменты: Wireshark, TCPView]Критерии приёмки
- Номер порта идентифицирован и проверен командой netstat или в CurrPorts.
- Процесс, использующий порт, сопоставлен с PID и локализацией файла.
- Внесены изменения (смена порта, отключение сервиса или завершение процесса) и подтверждён результат.
- Документация обновлена: причина, действие, дата и ответственный.
Часто встречающиеся вопросы
Q: Появляется “Access denied” при запуске netstat — что делать?
A: Запустите Командную строку или PowerShell от имени администратора. Некоторые записи видны только при повышенных правах.
Q: netstat показывает PID 4 — что это значит?
A: PID 4 обычно принадлежит системному процессу “System” или драйверу. Для его диагностики используйте TCPView или проверьте установленные драйверы/фильтры сети.
Q: Можно ли изменить порт, если это служба Windows?
A: Некоторые службы позволяют изменить порт через реестр или конфигурационные файлы; другие — используют фиксированные порты и потребуют альтернативных подходов (например, прокси или переназначение через NAT).
Резюме
Определение того, какое приложение использует порт, — стандартная задача для администраторов, разработчиков и специалистов поддержки. Самый быстрый путь — netstat (с параметром -ab для имён процессов или -aon для PID). Для удобства и контроля в реальном времени используйте CurrPorts или TCPView. Всегда проверяйте назначение процесса и влияние на систему перед тем, как завершать процессы или отключать службы.
Примечание: при работе с сетевыми портами соблюдайте осторожность и делайте резервные копии настроек, особенно на продуктивных серверах.
Короткое объявление: Если вам нужно быстро диагностировать конфликт порта — откройте PowerShell от администратора и выполните netstat -ab, либо скачайте CurrPorts и найдите нужный порт в списке.
Альтернативный текст изображения: Повторное изображение PowerShell — полезно для иллюстрации командной строки.