Иногда возникает необходимость узнать, какие сетевые соединения установлены на ПК с ОС Виндовс или какие порты “слушаются” теми или иными процессами. “Слушает порт” – означает, что программа ожидает сообщений на том или ином порту, например, стандартный веб-сервер слушает 80-й (HTTP) и/или 443 (HTTPS) порт.
Для просмотра подобной статистики можно использовать стандартную программу netstat.
Из всех опций используем ключи a и o:
netstat -ao или netstat -a -o
В начале выводятся порты в состоянии LISTENING (прослушивание) и ESTABLISHED (соединение установлено), затем порты в состоянии CLOSE_WAIT (ожидание закрытия соединения). Если у вас работает какая-нибудь программа, которая постоянно открывает/закрывает соединения, статистика может выводиться, пока вы не нажмете CTRL+C.
Например, у меня работает какая-то программа:
TCP 192.168.1.10:49153 17.248.146.207:https CLOSE_WAIT 5856 TCP 192.168.1.10:49179 17.248.146.114:https CLOSE_WAIT 5856 TCP 192.168.1.10:49180 17.248.146.205:https CLOSE_WAIT 5856 TCP 192.168.1.10:49182 17.248.146.171:https CLOSE_WAIT 5856 TCP 192.168.1.10:49186 17.248.146.86:https CLOSE_WAIT 5856 TCP 192.168.1.10:49189 17.248.146.171:https CLOSE_WAIT 5856 TCP 192.168.1.10:49198 17.248.145.108:https CLOSE_WAIT 5856
Из данного вывода можно понять, что процесс с номером (PID – process ID) 5856 постоянно общается с определенными адресами. Узнать, что это за процесс можно командами tasklist и find:
tasklist | find "5856"
Первая выводит все процессы с номерами, вторая ищет заданный ПИД, пример вывода:
c:\>tasklist | find "5856" iCloudServices.exe 5856 Console 1 137 772 K
Таким образом, мы установили, что этим процессом является сервис iCloud.
Узнать имя процесса по его PID можно и через Диспетчер задач: правый клик по панели задач или кнопке “Windows” –> “Диспетчер задач” (или CTRL+SHIFT+ESC), в Диспетчере кликните правой клавишей на заголовке любого столбца, в выпавшем меню отметьте “ИД процесса” и найдите интересующий вас ИД:
Для упрощения поиска, нажмите на заголовок столбца “ИД процесса”.
Если вы не любите командную строку, есть более дружелюбный способ – утилита TCPView от SysInternals. Данные в этой утилите, подобно “Диспетчеру задач” выводятся в виде таблицы, можно кликнуть правой клавишей по строке с процессом, закрыть соединение или завершить процесс.