为什么“系统”进程在端口443上侦听?


45

我在启动Apache服务器时遇到问题,因为端口443已在使用中。

事实证明,系统进程(PID 4)使用端口443。我没有安装IIS,services.msc显示(可预测地)没有Exchange服务器在运行,也没有WWW-Services,也没有IIS。我不知道如何找出使用该端口的服务,而只是不逐个禁用每个服务,我什至不知道这会有所帮助。

如果有人可以指出我如何恢复我的SSL端口,我将不胜感激,谢谢:)

PS:当然,“只要将Apache切换到另一个SSL端口即可”将解决无法启动Apache的问题。但是我仍然想知道对于占用端口443的坚持是什么。:)


现在,我一个接一个地采取了“艰难路线”和残疾人服务。原来,“路由和RAS”服务是罪魁祸首。

谢谢大家在与“我的系统现在正在执行WTF吗?”作战中的宝贵投入和新工具。


相关阅读:superuser.com/questions/121901 你可以使用任何给定的答案,以帮助你确定哪些服务是开放443端口
heavyd

1
不幸的是,由于我无法(或太愚蠢)无法确定哪个服务将端口完全打开,因此对于滞后的Servicename,我无法使用“ SC Config Servicename Type = own”。就像说的那样,Netstat的各种想法使我指向了System进程,就像TCPView一样。对于PE,“堆栈”显然不适用于Win7,并且由于我没有查看svchost.exe实例,因此“ TCP / IP”选项卡上没有“服务”列。Skype没问题,我也没有运行任何其他VoIP或P2P软件。但是您链接的另一个问题对我很有启发。谢谢。
Cornelius

谢谢(你的)信息!对我来说,绑定了端口443的是“路由和远程访问”服务。
Codler

3
伙计们,甚至没有试图回答这个问题的答案之多令人难以置信。错误信息的数量也是如此。如果PID 4正在监听,则为http.sys。总是。幸运的是,关于如何获得洞察力已经有了答案
丹尼尔·B

Answers:


18

从提升的命令提示符处运行以下命令:

netstat -ab

我有点惊讶。其他任何事情都只是显示“系统过程”为元凶。现在,此命令声称它是保存此端口的svchost.exe。:| PE /“其他” netstat调用如何归入系统进程中?(尽管该端口仍显示为由PID 4 / System保留。)如何进一步检查?:(
Cornelius

不确定,但可以将PE升高!
托尼·罗斯

2
以下内容还可能为您提供更多有关wmic过程的知识> test.txt
Tonyr Roth 2010年

1
我确实以管理员身份运行了进程浏览器-仍然按照“系统”的要求显示了端口;那里真的没有更多的英特尔可用:| 现在,我认为这会是我不知不觉中确实很愚蠢的事情;)
Cornelius 2010年

4
这对我不起作用,在0.0.0.0:443的行下,我只是得到无法获取所有权信息
MGOwen

33

我敢打赌它是Skype。如果已安装,请取消选中下面显示的复选框。

替代文字


3
+1。如果其他VoIP客户端(以及其他软件,如P2P文件传输应用程序)在端口80和443上找不到其他内容,它们将在端口80和443上侦听,尽管Skype是最常见的“犯罪者”。我不确定为什么Skype会显示为系统拥有的进程。
David Spillett 2010年

不幸的是它不是Skype。我也检查了它,它不仅是“系统拥有的进程”,还是“系统进程”(PID 4)
Cornelius

奇怪的是,我遇到的问题与svchost处理OP-443相同。.但是,关闭Skype可以解决此问题。
Blorgbeard 2011年

有这个问题。遵循这些指示并确定是Skype:mydigitallife.info/…–
星期六

只是为了清楚起见:如果您的端口是由svchost持有的,并且在Process Explorer中可以清楚地看到,那么这不是我遇到的相同问题。因此,我坚持要明确名称为“ System”的进程似乎拥有该端口。
Cornelius 2012年

12

我的问题是Windows 7计算机上的PID为PID 4的“系统”使用了端口443。对我来说,解决方案是删除网络连接文件夹中存在的“传入连接”(VPN)。

似乎我创建了它,但忘记了使用后将其删除...


1
是的,在Windows 8.1上也有同样的问题。
康斯坦丁·佩雷阿斯洛夫

刚刚赢了7。它停止侦听TCP 443,尽管仍然可以侦听UDP端口443,尽管这可能已经足够了。
barlop 2015年

1
我在Windows Server 2008 R2 x64上有此问题。花了我一段时间找到您的帖子,我对这个问题的正式答案感到惊讶,因为它实际上并没有回答任何问题。谢谢!
simontemplar'1

当我未删除“ [_] Allow other computers to connect to this one网络和共享中心”,“适配器配置”,“传入连接”,“属性”下的内容时,它对我有用,而不是删除“传入连接”(我不记得如何再次创建它,如果再次需要它的话)。
亚历山大·盖尔布

11

首先,我将直接回答这个问题,任何阅读此内容的人都可以忽略使用系统进程谈论任何第三方非Microsoft应用程序的答案。

  1. 在每个现代Windows系统上,系统进程均列为PID 4。它用于内核模式访问。这排除了大多数第三方Web产品,如Apache。

  2. 自WinRM(Windows远程管理)诞生以来,HTTP服务(%SystemRoot%\ system32 \ drivers \ http.sys)一直是Windows(Vista和更高版本/ Server 2008和更高版本)的标准部分。http.sys在系统进程(PID 4)下运行。

  3. 其他Microsoft开发的软件也可以在系统进程下使用%SystemRoot%\ system32 \ drivers \ http.sys,如IISSQL Reporting ServicesMicrosoft Web Deployment Servicehttp://support.microsoft.com/kb/2597817)...

  4. WinRM 1.0默认端口为:
    HTTP = 80
    HTTPS = 443
    WinRM 2.0及更高版本的默认端口为:
    HTTP = 5985
    HTTPS = 5986
    使用以下命令进行检查:
    Winrm枚举winrm / config / listener
    Winrm获取http://schemas.microsoft.com / wbem / wsman / 1 / config

故障排除步骤:

获取您要查找的端口的进程号(在本例中为443):

...从Windows的非映射驱动器避免“访问被拒绝”:
netstat -aon | 查找“:443”
对于系统进程,输出应类似于以下内容:
C:> netstat -ano | find“:443”
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 4
TCP [::]:443 [: :]:0 LISTENING 4
最后一列是PID(4)。

  1. 运行任务列表以查明进程中正在运行的内容无济于事:
    tasklist / SVC / FI“ PID eq 4”
    tasklist / m / FI“ PID eq 4”

  2. 在注册表中查找HTTP服务:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ HTTP \ Parameters \ UrlAclInfo
    将有一个URL列表(带有端口号),可以引导您运行哪个应用程序并保存哪些端口:
    http :// +:5985 / wsman /-> WinRM
    https:// +:5986 / wsman /-> WinRM
    http:// +:80 / Reports /-> SQL报告服务器
    http:// +:80 / ReportServer /-> SQL报告服务器
    https:// server_fqdn:443 / Reports /-> SQL报告服务器
    https:// server_fqdn:443 / ReportsServer /-> SQL报告服务器
    http:// *:2869 /- -> 简单服务发现协议服务(SSDPSRV)
    http:// *:5357 /->Web服务动态发现(WS-Discovery)
    https:// *:5358 /-> Web服务动态发现(WS-Discovery)

然后,您可以在系统上找到相应的服务并停止它,并通过与另一个netstat -aon |确认进行确认,以释放所需的端口找到“:443”命令。


关于第6点,我们如何找到监听这些端口的过程?
galmok

8

通常,这是VMware主机代理服务(VM主机到客户的通信所需)vmware-hostd.exe

找出svchost.exe正在运行的子进程的一个好方法是使用Sysinternals的Process Explorer


2
如果确实安装了VMware Workstation,请在“编辑”->“首选项”->“共享VM”下进行检查。您可能启用了VM共享,默认端口为443。您可以禁用共享,更改端口并重新启用它,或者在不需要时将其禁用。
gronostaj

@gronostaj非常感谢,我只是花了3个小时来尝试找到它:(
Simon Kirsten

7

我将443个请求路由到我的WAS服务器时遇到了类似的问题。根据此问题的建议,这是我所做的:

  1. 从高架cmd提示跑 netstat -a -n -o | findstr 443
  2. 确定了侦听443的进程的PID
  3. 使用Process Explorer从PID识别过程。
  4. 就我而言,应用程序监听是 vmwarehostd.exe
  5. 从停止了VMware Workstation服务器services.msc。由WAS服务器重新启动。

从那以后,所有443个请求都快乐地到达了443个。

PS:我已经卸载了Windows 8安装中内置的Skype。我的机器上的路由和远程访问服务已禁用。


3
-1他的PID为4,要困难得多。您编写“使用过的进程浏览器从pid识别进程”。<-您的不是PID 4,例如svchost或类似的东西。你的是第3方exe。您本可以使用任务管理器!如果您尚未显示该列,请查看..choose column但您很幸运,您的PID不是PID4。我不知道进程浏览器是否可以在任务管理器中提供帮助。但可以肯定的是,在您的情况下,简单的任务管理器就可以做到。
barlop 2015年

5

如果这是由服务启动的过程,netstat -ab将无济于事。

在这种情况下,请尝试netstat -ao | find /i "443"在管理员命令行中输入。这将为您提供如下输出:

    TCP   0.0.0.0:443   your_hostname:0   LISTENING   PID

然后tasklist | find /i "<PID>"在另一个管理员命令提示符下键入。

在我的情况下,PID是2912,我的命令是:

tasklist | find /i "2912"

我的命令输出为:

vmware-hostd.exe   2912 Services   0   39 856 K

哇,我什至忘了我安装了VMware来检查功能...


1
对我来说,这是PID 4 ...正在成为系统。仍然没有头绪:)
Wouter

PID 4通常表示基于Microsoft的本机Windows服务,表示内核级别。尝试一个接一个地停止服务,并检查是否解决了问题。禁用服务/卸载@Wouter引起问题的功能。通常的服务宗旨是:Routing and RAS,什么都提IISWorld Wide PuplishingExchange Windows Sync ShareWeb Deployment Agent ServiceSQL Server Reporting ServicesFile Server Storage Reports Manager和类似的。
elbedoit

1

就我而言,是F5 Networks的DataManager,它内部使用Tomcat 6来为其网页提供服务。我忘了卸载该应用程序。如果您问我错误的设计决定。


1

使用netstat -ao | find ":443",我发现端口443正在被PID 4使用,这是系统进程。这是我在Windows Server 2012上两次发生的,这是由于以下原因之一:

  1. IIS正在运行,在我停止的服务中列为“万维网发布服务”。
  2. 已安装“工作文件夹”功能,因此我将其卸载了。

这可能不是每个人的解决方案,但可能会有所帮助。


此答案并未真正添加elbedoit或tonyr提交的答案中尚未包含的任何新信息
Ramhound

1
我特别添加了此答案,因为卸载“工作文件夹”功能对我有用,因此,它是解决该问题的潜在解决方案。我应该在评论中显示此信息吗?
anishpatel '16

1
我遇到的问题与问题相同,而tonyr的回答对我不起作用。当您拥有PID 4(如问题所述)时,elbedoit的答案无济于事;您要随机停止/重新启动系统进程以解决此问题吗?
anishpatel '16

1
没有其他答案提到卸载工作文件夹功能,这是该问题的解决方案。我重复了其他答案中的信息,以帮助遇到相同问题的其他人确定此解决方案是否适用于他们(即,检查以确保PID为4)。如果PID不是4,则此答案绝对不会有帮助。与doener或tonyr的答案相比,这个答案怎么还不完整?请提出如何更好地交流我的解决方案的建议。
anishpatel '16

1
是! 对我来说,这也是“工作文件夹”功能!非常感谢您提及此内容。提到Skype或任何其他服务,这确实是一个平等有效的答案……
Wouter

1

在我的情况下,使用443端口是DTC(分布式事务处理协调器)过程。特别是,我在DTC中激活了WS-AT,它使用的是443端口。

通常,我了解到,当系统进程(PID 4)使用443 / HTTPS端口时,如果它不是IIS网站,则它是Windows的内部进程(在我的情况下是DTC,但我认为也可以是另一个进程)。使用它。



0

对我来说,在Windows Server 2016更新之后,Apache 443无法以列出的常规事件启动。

我发现罪魁祸首是“ Windows同步共享”服务(SyncShareSvc)。我禁用并能够启动Apache。


0

我发现在Windows 8中使用VPN功能(对于Windows 7可能与此相同)使用了端口443。

此外,PMB.exe(Pando Media Booster)再次关闭了我的端口。


-1

Wireshark将告诉您详细信息。http://www.wireshark.org/ 或TCP监视器:http : //www.itsamples.com/tcp-monitor.html

那会有所帮助。


不幸的是,tcp-monitor根本无法帮助我。至于wireshark-我无法生成/捕获定向到端口443的数据包。:(
Cornelius 2010年

1
剩下的唯一选项是Process Explorer(sysinternals),它将向您显示端口处理过程。Wireshark是该产品线中的顶级产品之一,但我不明白为什么它对您不起作用:s(您是否安装了WinPCAP捕获驱动程序?)
adeelx 2010年

很晚才回覆,对不起。但是我无法记录任何东西,因为显然没有流量可以监听。至少我这样认为。
Cornelius

-1 Wireshark不会向您显示任何可能有助于识别端口上内容的内容。该IP是什么。
barlop 2015年

-1

如果您有某种虚拟LAN驱动程序(例如OpenVM,VMware等),请确保在将端口提供给其他设备之前先“释放”该端口。

只是一个快速提示;)


-2

尝试安装VMware更新时遇到了同样的麻烦。我将其追溯到Skype。新客户端默认为443。


4
这只是现有答案的重复。请升级现有答案,而不要重新发布。
Chenmunka

@Chenmunka也许他没有看过
FindOutIslamNow
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.