Сергей Ткаченко
Существует много различных приложений, показывающих, какое приложение "слушает" тот или иной порт в настоящее время. Вы можете воспользоваться приложениями SysInternals Process Explorer, Sysinternals TCPView, Nirsoft CurrPorts, все они весьма замечательны, но в нужный момент их может просто не оказаться под рукой. Их отсутствие можно восполнить встроенными средствами операционной системы.
В состав Windows входит консольная утилита netstat. Запустив её с параметром /?, вы увидите, что предназначена она для отображения статистики и активных соединений протокола TCP/IP, а также полный перечень её опций:
Из этого перечня нас интересуют в первую очередь эти:
-a - отображать все соединения и используемые порты.
-o - отображать числовой идентификатор процесса, отвечающего за конкретное соединение (Process ID, или попросту PID).
Также хочу обратить ваше внимание на опцию -n, которая указывает утилите netstat отображать реальные айпи адреса и цифровые значения портов вместо из DNS-имен и общепринятых псевдонимов. В ряде случаев это может оказаться полезным.
Порядок действий
Запустите netstat командой
Код: Выделить всё
Netstat -ao
У меня вывод выглядит так:
Теперь найдем, к какому процессу относится, ну например, вот это соединение:
Proto Local Address Foreign Address State PID
TCP 192.168.1.100:49183 bos-m057a-sdr1:https ESTABLISHED 3104
Оно принадлежит процессу с идентификатором 3104, и выполняется к удаленному узлу с именем bos-m057a-sdr1 на 443 порт. Не покидая командной строки, вы можете быстро выяснить, что такое процесс 3104. Вот так:
Код: Выделить всё
tasklist / find "3104"
Итак, это мессенджер Miranda-IM, а соединение выполнено с сервером ICQ.
Если вам претит tasklist, вы можете воспользоваться системным "Диспетчером задач". Запустите его, нажав CTRL+SHIFT+ESC, перейдите на вкладку "Процессы". В меню "Вид" выберите пункт "Выбрать столбцы", и отметьте столбец PID:
Нужный процесс можно найти по значению этого столбца:
Ссылки по теме