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

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

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

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

4 ответа

Решение

Решение 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, я всего лишь конечный пользователь их (бесплатных) утилит.

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

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

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

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

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

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

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

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

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

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

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

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

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

Например

netstat -aon | find ":80"

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

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

tasklist | find "1100"

или же

tasklist /FI "PID eq 1100"
Другие вопросы по тегам