Как узнать, какой идентификатор программы и процесса обращается к данному IP-адресу в Windows?


19

Можно ли узнать, какая программа обращается к конкретному IP-адресу?

Я обнаружил, что мой компьютер переполнен, и хочу проверить адреса по одному.

Может быть, можно настроить какой-то аудит для этого?

Ответы:


31

Решение TCPView

TCPView от SystemInternals будет отображать «подробные списки всех конечных точек TCP и UDP в вашей системе, включая локальные и удаленные адреса и состояние соединений TCP».

TCPView - это программа для Windows, которая покажет вам подробные списки всех конечных точек TCP и UDP в вашей системе, включая локальные и удаленные адреса и состояние соединений TCP. В Windows Server 2008, Vista и XP TCPView также сообщает имя процесса, которому принадлежит конечная точка. TCPView предоставляет более информативное и удобно представленное подмножество программы Netstat, поставляемой с Windows. Загрузка TCPView включает в себя Tcpvcon, версию командной строки с той же функциональностью.

введите описание изображения здесь

  • Убедитесь, что «Разрешить адреса» сняты, чтобы получать IP-адреса вместо доменных имен.

    введите описание изображения здесь

Вы можете отсортировать результаты по «Удаленному адресу», чтобы найти интересующий вас IP-адрес.

Пример:

  • На этом скриншоте показано подключение Firefox к stackoverflow.com.

    введите описание изображения здесь


Решение CurrPorts

CurrPorts от Nirsoft предоставляет очень похожую функциональность.

CurrPorts - это программное обеспечение для мониторинга сети, которое отображает список всех открытых на данный момент портов TCP / IP и UDP на вашем локальном компьютере. Для каждого порта в списке также отображается информация о процессе, открывшем порт, включая имя процесса, полный путь процесса, информацию о версии процесса (название продукта, описание файла и т. Д.), Время, в течение которого процесс был создан, и пользователь, который создал его.

введите описание изображения здесь

Пример:

  • На этом скриншоте показано подключение Firefox к stackoverflow.com.

    введите описание изображения здесь


Что если я захочу записать результаты?

TcpLogView также от Nirsoft обеспечивает протоколирование соединений TCP.

TcpLogView - это простая утилита, которая отслеживает открытые соединения TCP в вашей системе и добавляет новую строку журнала каждый раз, когда соединение TCP открывается или закрывается. Для каждой строки журнала отображается следующая информация: четное время, тип события (Open, Close, Listen), локальный адрес, удаленный адрес, имя удаленного хоста, локальный порт, удаленный порт, идентификатор процесса, имя процесса и информация о стране удаленного IP-адреса (требуется отдельно загрузить IP-адрес в файл страны)

введите описание изображения здесь


отказ

Я никоим образом не связан с SystemInternals (часть Microsoft) или Nirsoft, я всего лишь конечный пользователь их (бесплатных) утилит.


Боюсь, что таким образом невозможно поймать несколько пакетов, так как он быстро исчезает. Мне нужно войти.
Димс

Представьте, что я хочу поймать, кому отправляются пакеты 88.221.132.207. Как это увидеть? Это приложение даже не имеет возможности поиска или фильтрации. Т.е. я даже не смогу поймать его на глаз, если он быстро исчезнет.
Димс

1
Тогда вы , вероятно , нужен анализатор пакетов , как Wireshark
DavidPostill

1
Wiresharkне показывает идентификатор процесса. Мне нужно знать (1) процесс (2) IP; оба
Димс

6
@Dims Используйте TCPLogView также от Nirsoft. Ответ обновлен
DavidPostill

8

В Windows 7/8 * / 10 вы можете использовать Resource Monitor -> Network Tab.

Самый простой способ открыть монитор ресурсов:

  • Открыть диспетчер задач (правая панель задач -> Запустить диспетчер задач)
  • Нажмите вкладку «Производительность»
  • Нажмите кнопку Монитор ресурсов

Монитор ресурсов -> Сеть

* = не подтверждено


2

Вы можете достичь этого, не загружая дополнительные инструменты из командной оболочки администратора.

Запустите командную оболочку администратора:

  • Нажмите кнопку запуска
  • Тип "CMD"
  • Нажмите Ctrl + Shift + Enter

Введите команду: netstat -tabn

Переключатели означают следующее:

  • -t Отображает текущее состояние разгрузки соединения.
    • то есть. УСТАНОВЛЕН, СЛУШАТЬ, TIME_WAIT
  • -a Отображает все соединения и порты прослушивания.
  • -b Отображает исполняемый файл, участвующий в создании каждого соединения или порта прослушивания. В некоторых случаях известные исполняемые файлы содержат несколько независимых компонентов, и в этих случаях отображается последовательность компонентов, участвующих в создании порта подключения или прослушивания. В этом случае исполняемый файл находится в [] внизу, вверху - компонент, который он вызвал, и так далее, пока не будет достигнут TCP / IP. Обратите внимание, что этот параметр может занять много времени и завершится ошибкой, если у вас нет достаточных разрешений.
  • -n Отображает адреса и номера портов в числовой форме.

По общему признанию, это не так сложно, как вывод, достигнутый многими опциями GUI, но он присутствует и доступен без загрузки дополнительных инструментов. Он работает и в Linux с немного другими переключателями.


1

Как сказал Антик, вы можете использовать netstat из командной строки администратора. Тем не менее, я бы посоветовал вам использовать oвместо этого b, чтобы вывод был в одной строке для записи, и вы можете дополнительно отфильтровать его с помощью find. У вас не будет имени процесса, но идентификатор процесса:

Например

netstat -aon | find ":80"

отображает все соединения через порт 80 (локально или удаленно)

Затем вы можете проверить этот процесс в диспетчере задач или выполнить другой фильтр в командной строке, используя на этот раз список задач:

tasklist | find "1100"

или

tasklist /FI "PID eq 1100"
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.