Как узнать, какой идентификатор программы и процесса обращается к данному 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"