无法确定正在使用端口 8080 的是什么

无法确定正在使用端口 8080 的是什么

在 Windows Server 2003 R2 64 位 SP2 中,我有一个应用程序只使用端口 8080,但某个程序已经在使用它。我很乐意杀死正在使用它的程序,但我不知道它是什么。我运行了 TCPView,它显示 PID 为 3216,进程为“”。我尝试过 taskkill /pid 3216,但它显示:

错误:未找到进程“3216”。

如果我浏览,http://127.0.0.1:8080我会得到下面的错误之一,所以它看起来有点像某种网络服务器。如果我尝试在 TCPView 中终止该进程,则不会发生任何事情。有人能提出其他建议吗?

禁止访问。您无权访问此服务器上的 /。

内部服务器错误。服务器遇到内部错误或配置错误,无法完成您的请求。请联系服务器管理员,[电子邮件保护]并告知他们错误发生的时间,以及可能导致错误的任何操作。有关此错误的更多信息可能在服务器错误日志中提供。

答案1

在管理员级别的命令提示符中使用netstat -ba,您将看到所有活动的网络套接字和拥有这些套接字的进程。

  • -b告诉 netstat 输出套接字所有者的可执行文件名称。
  • -atella netstat 列出所有监听和客户端套接字。

答案2

这是我在 Windows 8 中所做的:

运行 resmon

在网络选项卡中单击监听端口,在这里我们可以看到当前正在使用的所有端口。

答案3

端口 8080 是 Java 应用程序相当常用的端口。无论是通过 Tomcat 还是 Jetty。我猜是 Tomcat。由于这是一台服务器,并且您显然无法访问端口 8080 上的内容,所以我的建议是查看您的进程列表以查找任何与 Java 相关的内容。可能还要检查端口 8081 以及端口 8000 上的内容。

答案4

除了这里的答案之外,我最终能够通过在 Windows 命令提示符中执行以下步骤来发现它是 Apache:

telnet 127.0.0.1 8080
GET / HTTP/1.1<cr>
<cr>

其中 <cr> = 输入键

这产生了一个显示标头的响应,其中一个标头表明它是 Apache。我发现一个正在运行的 httpd 进程,我可以终止它。这不是我正在寻找的东西,因为 Apache 未安装,但有东西运行了一个独立的 Apache 实例(我检查过它不是病毒)。

相关内容