在TCPView中,为什么svchost.exe进程需要侦听这么多的TCP和UDP端口


11

查看TCPView,我可以看到使用TCP和UDP端口的超过25个svchost进程。如果这些svchost进程是Windows所需的各种服务,那么为什么会有那么多人使用网络?


3
+1。好问题。Windows很健谈。svchosts掩盖了实际情况。
RedGrittyBrick'5

1
每个svchost进程都是一个不同的服务。您可以使用Process Explorer检查哪些服务正在使用哪些端口
golimar 2012年

一个好问题是为什么一个进程不能在各个端口上侦听?我认为openssh的sshd.exe可能会执行该过程,但能够侦听许多端口。也许是因为程序都不同,例如,不同的DLL文件并使用svchost进行通信
barlop 2012年

Answers:


10

根据维基百科

在Windows NT操作系统家族中,svchost.exe(服务主机或SvcHost)是承载多个Windows服务的系统进程。它的可执行映像%SystemRoot%\ System32 \ Svchost.exe或%SystemRoot%\ SysWOW64 \ Svchost.exe(对于在64位系统上运行的32位服务)在多个实例中运行,每个实例承载一个或多个服务。这对于实现所谓的共享服务流程至关重要,在该共享服务流程中,许多服务可以共享一个流程以减少资源消耗。

因此,预计您将在svhost.exe上运行许多Windows进程。他们中的许多人仅使用TCP / IP端口(套接字)在本地主机上进行进程间通信。这就是为什么您可以通过svhost.exe看到大量网络流量的原因。

此外,您还可以找到在svhost上运行的Windows服务。我在计算机上运行“ tasklist / svc”命令,它返回了svhost与某些正在运行的Windows服务之间的依赖关系:

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.