我今天偶然发现有一些未知的网络服务器在监听端口 8000。打开http://本地主机:8000只是返回 404,所以我不知道那里到底在听什么。
我曾经netstat -ano
发现,PID 为 4 的进程正在监听该端口。PID 4 是系统进程。为什么我的系统会监听该端口,而我实际上并没有启动服务器?或者我如何才能找出到底是什么在监听该端口?
我已阅读有关端口 80和端口 443,但其中提到的服务都没有在我的系统上运行。而且其他建议也不起作用。
编辑:
服务器的 HTTP 响应列为Microsoft-HTTPAPI/2.0
服务器。
编辑2:
根据 Shadok 的要求,以下是 TCPView 中端口为 8000 的条目。但我怀疑它根本没有用……
答案1
IIRC,任何使用HTTP 服务器 API在 Windows 上运行 HTTP 服务器将会把该服务的费用转交给系统进程,因为它是通过内核的http.sys
服务器运行的。
您可以通过运行以下命令来查看已注册的 URL:。netsh http show servicestate
这其中也包括端口号。
netstat -ab
还可以显示哪些服务开始监听给定的端口。
答案2
可能有点晚了,但这个帖子在我的谷歌搜索中排名很高,而且看起来最相关,尽管缺少我认为有用的最后一条信息。
您可以通过运行以下命令来查看(动态)注册的 URL:netsh http show servicestate
答案3
系统(PID 4)套接字可能是 http.sys,在这种情况下您可以使用 PiBa-NL 提供的 netsh 命令。
但请注意有几个参数。默认值似乎相当于:
netsh http show servicestate view=session verbose=yes
会话视图对我的情况没有帮助,但是它显示了 PID:
netsh http show servicestate view=requestq
答案4
你可以使用TCP查看器找到比通过 netstat 找到的更多有关该进程的信息。
如果您仍然不知道该应用程序到底是什么,请发布提到端口 8000 的行的屏幕截图,我们会帮您找出答案。