我需要确定在 Java 的 80 端口上运行的 Web 服务器(IIS、Apache、Jetty)。
是否有任何解决方案可以通过端口 80 获取信息?
感谢和reguards
斯特凡
你可以问它 - 发出一个 HEAD 请求,例如在端口 80 上打开一个 TCP 连接,然后发送
HEAD / HTTP/1.0
或者
HEAD / HTTP/1.1
Host: the.server.hostname.com
并且回复应该包含一个 Server 行
Server: Microsoft-IIS/5.1
除其他外。
但是,如果您想询问操作系统是哪个进程,我不知道 Java 可移植的方式。您将运行的命令行netstat -ano
或(-anp
我认为在 linux 上)它将为您提供侦听端口 80 的进程号,然后您可以查看它以准确找出哪个服务器具有该端口。
查看Server:
HTTP 标头。它通常包含以下内容:
Server: Apache/2.2.10 (SpaceNet) PHP/5.2.6
当然,服务器可以发送它喜欢的任何东西,或者根本不发送任何东西。