3

我需要确定在 Java 的 80 端口上运行的 Web 服务器(IIS、Apache、Jetty)。

是否有任何解决方案可以通过端口 80 获取信息?

感谢和reguards

斯特凡

4

2 回答 2

6

你可以问它 - 发出一个 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 的进程号,然后您可以查看它以准确找出哪个服务器具有该端口。

于 2010-07-09T10:56:11.397 回答
3

查看Server: HTTP 标头。它通常包含以下内容:

Server: Apache/2.2.10 (SpaceNet) PHP/5.2.6

当然,服务器可以发送它喜欢的任何东西,或者根本不发送任何东西。

于 2010-07-09T10:59:03.910 回答