该问题具体解决方法:

该问题具体解决方法:

可能重复:
如何找到正在监听端口的exe?
什么在使用端口 80?

我需要设置我制作的本地 Web 服务器并将其绑定到 127.0.0.1:80。但是,我似乎无法弄清楚是什么占用了这台笔记本电脑的 80 端口。我安装了 IIS,但已将其禁用。但是现在,当我在浏览器中访问 127.0.0.1 时,我得到的不是通常的 IIS 欢迎页面(我没有更改),而是显示以下内容:

在此处输入图片描述

即使我转到之前在 IIS 中设置的站点目录,它仍然会显示此错误,这证实了我已成功禁用 IIS 的信念。我一直在搜索,发现这个 SU 帖子并尝试了netstat -o。但正如您在下面看到的,没有与端口 80 关联的 PID,这让我更加困惑。

在此处输入图片描述

我也尝试使用,netstat -ab -p tcp -n但它给出了一个错误。见下图。

在此处输入图片描述

是的,我没主意了。有人能帮我找出什么在使用端口 80 吗?还有,为什么看起来像是有一个web 服务器正在运行?我已经检查过了进程探索器XAMPP 也没有运行。事实上,我在进程列表中看不到任何类似于 Web 服务器的东西。我个人可以识别出大多数正在运行的进程,例如 Google 的音乐管理器、iTunes Helper 等。

这是在 Windows 7 32 位安装上。

答案1

该问题具体解决方法:

停止可能正在运行的 SQL Server 或任何其他 Web 服务或相关 IIS 服务(即“SQL Server Reporting Services” - 请参阅下面评论中的 OP 回复)。使用以下方法检查您正在运行的服务2或者3下面。请查看评论,了解我们如何更详细地解决此问题。

我个人还建议使用运行 LAMP 平台的虚拟机,然后直接在开发箱上运行 WAMP 类型的平台。

如果您正在解决类似问题,可以尝试以下步骤

这不是一个确切的解决方案,但它可能会有所帮助,回应,我会随时更新:

  1. 捕获网络流量:

    下载wireshark,安装并启动并运行。选择您的网络接口并开始捕获流量。打开浏览器并加载本地站点。即使它在本地接口上,Wireshark 仍应捕获它。如果您查看实际 HTTP 响应的所有各个字段,您可能会找到服务器中指定的应用程序的名称或其他一些线索,这些线索可以帮助您识别哪个服务器正在提供该网页。在 HTTP 流量中,您可能能够识别服务器名称(请参阅此条目)维基百科:HTTP 标头列表,尤其是“服务器”字段。

    更新:根据 Scott Chamberlain 在下面的评论,在 Windows 上使用 Wireshark 从本地主机捕获可能会很麻烦(但下面是具体做法根据他的评论)。 另外,请参阅5下面。相反,使用代理工具(如 Fiddler、Paros Proxy、Burp Proxy 等)可能会更容易,这些工具可以让您拦截双向流量以读取原始 HTTP。

  2. 进程监控

    您尝试过 Process Explorer,但是进程监控在这种情况下,来自 sysinternals 的命令可能会更有帮助。这将向您显示执行活动时读取的文件。一定有东西在响应。

  3. 正在运行的进程

    听起来你已经查看了一些正在运行的进程,但是你检查过所有正在运行的服务吗?你可以使用以下任一选项获取有关正在运行的服务的信息

    • 在开始菜单上输入“services.msc”并以图形方式探索
    • 在命令行中输入“tasklist /svc”
    • 在命令行中输入“net start”
  4. 使用 http 诊断工具:取回来自 Microsoft

    此工具可以帮助您处理原始连接,可能比使用上面提到的 wireshark 更容易一些,但它实现了相同的目标:找出原始 HTTP 流量中返回的信息。

  5. 使用 Chrome 中的开发人员工具下面是我在下面的评论中讨论内容的屏幕截图: 使用 Chrome 开发者工具进行网络过滤的示例

答案2

在现代版本的 Windows 上,IIS 不会直接监听 HTTP 请求。HTTP 的核心由驱动程序完成http.sys。您可以使用以下命令列出当前配置的地址/端口/URL

netsh http show servicestate

如果 URL 没有任何配置/http.sys则会生成 404 NOT FOUND 响应,而不是提供任何特定的应用程序或服务。

相关内容