Из моего чтения может быть несколько причин. Например, после прочтения вопроса Корнелиуса: «Почему процесс System прослушивает порт 443?», У меня складывается впечатление, что, по крайней мере, эти три разные причины могут привести к такой вещи:
-
HTTP.SYS, связанный с IIS (веб-сервер Microsoft)
-
Сетевое соединение, принимающее входящее VPN-соединение. (Возможно, относится к "Удаленному доступу", части RRAS, которая называется "Маршрутизация и удаленный доступ"?)
-
Скайп (см. Гиперссылку ранее в моем ответе, фотографии).
Я предполагаю, что у них есть некоторые общие факторы, такие как использование кода Microsoft и, вероятно, использование низкоуровневого драйвера.
Я думаю, должен быть способ просто проверить, а не охотиться. Стек TCP/IP должен знать, куда отправлять трафик, и мы можем проверить, что будет делать стек TCP/IP, используя команду netstat
. К сожалению, все, что нам дает команда netstat
, - это общесистемный PID, который указывает нам на процесс с именем "System". Я думаю, что аналогичным образом процесс "Система" должен знать, какому драйверу отправлять трафик. Я еще не нашел способ просто проверить это.
Тем временем я решил, что укажу вам на несколько возможных причин, которые я нашел. Надеюсь, один из них приведет к тому, что вы найдете ответ, который ищете.
Примечание. Я нашел эту причину, посмотрев на некоторые многообещающие "Связанные" элементы, которые Superuser.com отображает в правом кадре Одним из основных правил Stack Exchange является попытка провести собственное предварительное исследование. Я предлагаю еще одно хорошее правило: после публикации вопроса отметьте галочкой раздел "Связанные" в правильном фрейме, потому что IMHO Stack Exchange довольно неплохо справляется с поиском часто задаваемых вопросов.
В моей системе Microsoft Windows PID 4 также принадлежит процессу System, поэтому не представляется, что конкретный PID является очень случайным.
Остальная часть этого вопроса просто объясняет некоторые вещи, которые я проверял в своей системе. Это не поможет вам (Александр Гельбух), потому что я могу сказать, что вы уже поняли большинство или все это уже выяснили. Однако, надеюсь, что люди, читающие это, будут менее склонны слепо рекомендовать netstat
в качестве решения, поскольку вывод netstat не является полным, достаточным решением (поскольку нам нужно сделать больше, чем просто определить процесс, который сетевой стек TCP/IP отправит трафик).
Я думаю, что может быть несколько причин, по которым netstat -b
может сказать: « Не удается Can not obtain ownership information
, в том числе отсутствие повышения UAC (по крайней мере, в некоторых версиях Microsoft Windows; в моей Windows 10 я получаю разные результаты при запуске без повышения прав: netstat сразу же говорит, что The requested operation requires elevation.
и дает две пустые строки и выходит.)
Я получаю те же результаты, что и вы: когда я бегу с повышенными правами, я не могу видеть результаты PID 4.
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 996
RpcSs
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
Can not obtain ownership information
TCP 0.0.0.0:8732 0.0.0.0:0 LISTENING 4
Can not obtain ownership information
(Это говорит о том, что PID 996 - это svchost.exe, но нет информации о PID 4.)
C:>tasklist /SVC | more
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 4 K
System 4 Services 0 4,828 K
C:\WINDOWS\system32>powershell "Get-NetTCPConnection -LocalPort 445 | Format-List"
LocalAddress : ::
LocalPort : 445
RemoteAddress : ::
RemotePort : 0
State : Listen
AppliedSetting :
OwningProcess : 4
CreationTime : 3/2/2017 9:56:19 PM
OffloadState : InHost
C:\WINDOWS\system32>