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

我被问到是否有一个特定的网站运行Windows或Linux作为它的networking服务器 – 通常我们可以访问,我只需要上传一个phpinfo文件,这将给我所有我需要的相关信息 – 还没有能够访问FTP的细节呢。

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

Solutions Collecting From Web of "如何确定Web服务器是运行Linux还是Windows?"

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

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

你可以通过使用诸如BuiltWith这样的技术分析器来得到这个以及许多其他的信息。

它还附带一个Chrome扩展 。 它告诉你服务器,尽管正如别人所说,Apache可以在Win和Linux上运行。

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