如何确定Web服务器是运行Linux还是Windows?

时间:2012-04-18 08:44:23

标签: windows linux

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

使用像Web Developer Toolbar这样的Firefox插件是否有一个简单的方法可以指示服务器是否运行Windows / Linux等?

4 个答案:

答案 0 :(得分:7)

您可以使用BuiltWith等技术分析器获取此信息和许多其他信息。

它还带有Chrome extension。它告诉你服务器,尽管其他人说,Apache可以在Win和Linux上运行。

答案 1 :(得分:6)

通过查看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设置。

答案 2 :(得分:4)

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

答案 3 :(得分:0)

您可以尝试浏览domainname.com/index.php或domainname.com/index.asp。如果index.php的主页出现并且index.asp出现404错误,则表示它正在运行Linux,反之亦然。如果他们使用不同的编程语言,这并不总是有效,但在大多数情况下都应该有效。