如何确定正在侦听端口 80 的服务器
Posted
技术标签:
【中文标题】如何确定正在侦听端口 80 的服务器【英文标题】:How to determine what server is listening on Port 80 【发布时间】:2011-03-13 19:37:27 【问题描述】:我需要确定在 Java 的 80 端口上运行的 Web 服务器(IIS、Apache、Jetty)。
有没有办法通过80端口获取信息?
感谢和提醒
斯蒂芬
【问题讨论】:
【参考方案1】:您可以提出请求 - 发出 HEAD 请求,例如在端口 80 上打开一个 TCP 连接,然后发送
HEAD / HTTP/1.0
或
HEAD / HTTP/1.1
Host: the.server.hostname.com
并且回复应该包含一个服务器行
Server: Microsoft-IIS/5.1
除其他外。
但是,如果您想询问操作系统是哪个进程,我不知道 Java 可移植的方式。您将运行netstat -ano
或(我认为在Linux 上为-anp
)的命令行,它将为您提供侦听端口80 的进程号,然后您可以查看它以找出确切的服务器具有该端口。
【讨论】:
【参考方案2】:看看Server:
HTTP header。它通常包含以下内容:
Server: Apache/2.2.10 (SpaceNet) php/5.2.6
当然,服务器可以发送它喜欢的任何东西,或者根本不发送任何东西。
【讨论】:
以上是关于如何确定正在侦听端口 80 的服务器的主要内容,如果未能解决你的问题,请参考以下文章
Windows 2003 上的 Apache 和 IIS 并排(都侦听端口 80)
在 windows server 2008 r2 上停止端口 80