8

有人要求我查明某个特定站点是否运行 Windows 或 Linux 作为其网络服务器——通常我们可以访问,我只需上传一个 phpinfo 文件,这将为我提供我需要的所有相关信息——但是我们还不能访问 FTP 详细信息。

是否有一种使用 Firefox 插件(如 Web Developer Toolbar)的简单方法来指示服务器是否正在运行 Windows/Linux 等?

4

3 回答 3

9

您通常可以通过查看 HTTP 标头来获得一些非常好的线索,您可以使用 curl(使用 -I 标志)来做到这一点。例如,

$ curl -I www.microsoft.com
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 0
Server: Microsoft-IIS/8.0
P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM
INT     NAV     ONL PHY PRE PUR UNI"
X-AspNet-Version: 2.0.50727
VTag: 279958544400000000
X-Powered-By: ASP.NET
X-Powered-By: ARR/2.5
X-Powered-By: ASP.NET
Date: Fri, 20 Sep 2013 20:50:16 GMT

注意上面说的那一行Server: Microsoft-IIS/8.0。相比之下,尝试:

$ curl -I www.php.net
HTTP/1.1 200 OK
Date: Fri, 20 Sep 2013 20:53:05 GMT
Server: Apache/2.2.21 (FreeBSD) mod_ssl/2.2.21 OpenSSL/0.9.8q PHP/5.4.16-dev
X-Powered-By: PHP/5.4.16-dev
Content-language: en
Set-Cookie: COUNTRY=USA%2C173.203.108.101; expires=Fri, 27-Sep-2013 20:53:05 GMT; path=/;     
domain=.php.net
Last-Modified: Sat, 21 Sep 2013 02:21:12 GMT
Vary: User-Agent,Accept-Encoding
Connection: close
Content-Type: text/html;charset=utf-8

而且,很明显这是一个 LAMP 设置。

于 2013-09-20T20:55:05.580 回答
7

您可以使用诸如BuiltWith 之类的技术分析器来获取此信息以及许多其他信息。

它还带有一个Chrome 扩展程序。它告诉您服务器,尽管正如其他人所说,Apache 可以在 Win 和 Linux 上运行。

于 2014-01-28T23:20:12.757 回答
4

并不总是有效,但您可以尝试为不存在的页面输入地址。如果他们没有自定义 404 错误,您也许可以看到它是什么。

于 2012-04-18T08:46:15.357 回答