我如何才能知道某个特定站点正在运行哪种服务器操作系统?

我如何才能知道某个特定站点正在运行哪种服务器操作系统?

有没有办法检查某个特定站点正在运行哪个服务器操作系统。例如从 Linux 命令行。也许通过 telnet?但我从“telnet www.google.com http”得到的信息只有:

Trying 209.85.173.104...
Connected to www.l.google.com.
Escape character is '^]'.

如果可能的话,有人可以详细讨论一下这个问题吗?

答案1

您可以查找 NMap 内置的操作系统指纹识别功能。

但是,如果您要查找“Google 正在运行什么?”之类的内容,那么您将无功而返,因为您不知道其负载均衡器背后有什么,或者防火墙会阻止它,而且指纹识别的准确性有限,因此您可能会得到错误的报告,而且当连接以某种方式被 NAT 时,您可能什么也得不到。

答案2

许多网站会在 HTTP 标头中告诉您:

$ curl -s -I hotmail.com | grep Server
Server: Microsoft-IIS/7.5

$ curl -s -I pinterest.com | grep Server
Server: nginx/0.8.54

有些包括操作系统,有时还包括版本:

$ curl -s -I linuxquestions.com | grep Server
Server: Apache/2.2.9 (Unix)

$ curl -s -I red.com | grep Server
Server: Apache/2.2.3 (Red Hat)

$ curl -s -I slashdot.org | grep Server
Server: Apache/2.2.3 (CentOS)

$ curl -s -I bar.com | grep Server
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8r DAV/2 PHP/5.3.8

有些人编写自己的网络服务软件:

$ curl -s -I google.com | grep Server
Server: gws

$ curl -s -I yahoo.com | grep Server
Server: YTS/1.20.10

但有些不发送标题Server

$ curl -s -I serverfault.com 
HTTP/1.1 200 OK
Cache-Control: public, max-age=41
Content-Length: 129706
Content-Type: text/html; charset=utf-8
Expires: Tue, 27 Mar 2012 13:01:46 GMT
Last-Modified: Tue, 27 Mar 2012 13:00:46 GMT
Vary: *
Date: Tue, 27 Mar 2012 13:01:04 GMT


$ curl -s -I www.facebook.com 
HTTP/1.1 302 Found
Location: http://www.facebook.com/common/browser.php
P3P: CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"
Set-Cookie: datr=sbpxT_PpXR9FO5mMTy8pCTjD; expires=Thu, 27-Mar-2014 13:03:45 GMT; path=/; domain=.facebook.com; httponly
Content-Type: text/html; charset=utf-8
X-FB-Debug: VJycxKwQ9bAV0Z/n6jfN1WSFx4pqj2337c1jc+pPlE0=
X-Cnection: close
Content-Length: 0
Date: Tue, 27 Mar 2012 13:03:45 GMT

这些中的任何一个或全部都可能是假的。 Bart 的建议nmap更有可能是准确的,但由于他提到的原因,无法产生 100% 准确的结果。有时它甚至没有意义,例如,在 Google,处理单个 HTTP 请求所涉及的服务器数量、他们的网络服务器、搜索服务器、数据库服务器、缓存服务器以及他们运行的其他任何服务器都可能使用不同的操作系统,而您无法知道。

答案3

询问 Netcraft:该站点正在运行什么?

http://uptime.netcraft.com/up/graph?site=google.com返回“服务器:gws”(即 Google Web 服务器)。

相关内容