Почему netstat/TCPView/CurrPorts отображает процессы как неизвестные?

Я пытаюсь записать данные обо всех процессах, которые устанавливают соединения с моего компьютера из-за проблем безопасности, я попытался сделать netstat -bn 1 > stats.txt, также попытался создать файл журнала с CurrPorts, TCPView из того, что я увиденное даже не имеет возможности регистрировать изменения,

но что более странно, так это то, что все они время от времени показывают процессы как "неизвестные", CurrPorts кажется лучшим на данный момент, но также перечисляет некоторые неизвестные процессы.

1. Как это возможно, что процессы имеют неизвестные пути? Разве система не знает путь какого-либо процесса, который устанавливает соединение?

2. Есть ли еще один инструмент, который я не использовал, или какой-то другой способ для регистрации процессов, которые устанавливают соединения ясным способом и с путями всех процессов?

2 ответа

1. Как это возможно, что процессы имеют неизвестные пути?

Система знает идентификаторы процессов. (В частности, сетевой стек должен знать это.) Идентификаторы процессов просто неизвестны для netstat.

Разве система не знает путь какого-либо процесса, который устанавливает соединение?

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

2. Есть ли еще один инструмент, который я не использовал, или какой-то другой способ для регистрации процессов, которые устанавливают соединения ясным способом и с путями всех процессов?

netstat -b должно быть в состоянии сделать это просто отлично. (Этот синтаксис предназначен для современных версий Microsoft Windows. Другие реализации netstat могут использовать другие параметры.) -n Параметр только устраняет детали обратного DNS, которые обычно исключают люди (обычно потому, что это может замедлить работу).

Проблема, скорее всего, связана с разрешениями, которые, я надеюсь, затронут и любые другие инструменты. (В противном случае ожидаемые преимущества безопасности могут работать не так, как хотелось бы.)

Лучшая ставка: убедитесь, что вы администратор. Если вы используете Windows Vista или новее, убедитесь, что если включен контроль учетных записей, то вы используете командную строку с повышенными привилегиями.

netstat -nb должен показать вам номера PID. Преобразование этого в пути выполняется отдельно, например, с TASKLIST или же:
WMIC PROCESS GET Caption,CommandLine,Description,ExecutablePath,Name,ParentProcessId,ProcessId /FORMAT:VALUE

Короткоживущие процессы или процессы, завершающиеся во время выборки, могут быть пропущены вашими командами.

Другие вопросы по тегам