【发布时间】:2023-03-12 22:20:01
【问题描述】:
我需要确定在 Java 的 80 端口上运行的 Web 服务器(IIS、Apache、Jetty)。
有没有办法通过80端口获取信息?
感谢和提醒
斯蒂芬
【问题讨论】:
我需要确定在 Java 的 80 端口上运行的 Web 服务器(IIS、Apache、Jetty)。
有没有办法通过80端口获取信息?
感谢和提醒
斯蒂芬
【问题讨论】:
您可以提出请求 - 发出 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 的进程号,然后您可以查看它以找出确切的服务器具有该端口。
【讨论】:
看看Server:HTTP header。它通常包含以下内容:
Server: Apache/2.2.10 (SpaceNet) PHP/5.2.6
当然,服务器可以发送它喜欢的任何东西,或者根本不发送任何东西。
【讨论】: