Какой процесс слушает порт в Windows

Чтобы вывести список TCP и UDP портов, которые прослушиваются, выполните команду:

netstat -aon| find "LIST"

Или вы можете сразу указать искомый номер порта:

netstat -aon | findstr ":80" | findstr "LISTENING"

Используемые параметры команды netstat:

  • a – показывать сетевые подключения и открытые порты
  • o – выводить идентфикатор професса (PID) для каждого подключения
  • n – показывать адреса и номера портов в числовом форматер

По выводу данной команды можно определить PID процесса прослушивающего конкретный порт TCP

Можно определить файл процесса c конкретным PID при помощи диспетчера задач или с помощью комманды

tasklist /FI "PID eq 1820"

Можно заменить все указанные выше команды одной:

for /f "tokens=5" %a in ('netstat -aon ^| findstr :9400') do tasklist /FI "PID eq %a"

С помощью однострочной PowerShell команды можно сразу получить имя процесса, который прослушивает:

Можно сразу завершить этот процесс, отправив результаты через pipe в командлет Stop-Process:

Get-Process -Id (Get-NetTCPConnection -LocalPort 9400).OwningProcess| Stop-Process

Проверьте, что порт 9400 теперь свободен:

Test-NetConnection localhost -port 9400

Чтобы быстрой найти путь к исполняемому файлу процесса в Windows, используйте команды:

cd /
dir programm.exe /s /p

Или можно для поиска файла использовать встроенную команду where :

where /R C:\ programm

Также для просмотра списка процессов и используемых ими TCP портов в Windows можно использовать утилиту TCPView (https://learn.microsoft.com/en-us/sysinternals/downloads/tcpview).