解決策 1:
多くのサイトでは、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
一部には OS と、場合によってはバージョンが含まれます:
$ 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
独自の Web サービス ソフトウェアを作成する人もいます:
$ 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
これらの一部またはすべてが嘘をついている可能性があります。 nmap
のバートの提案 は正確である可能性が高くなりますが、彼が言及した理由により、100% 正確な結果を生成することはできません。たとえば、Google で 1 つの HTTP リクエストの実行に関与するサーバーの数、それらの Web サーバー、検索サーバー、データベース サーバー、キャッシュ サーバー、およびそれらが実行するその他すべてのサーバーが潜在的にオペレーティング システムが異なるため、知る方法がありません。
解決策 2:
NMap に組み込まれている OS フィンガープリンティング機能を探すことができます。
ただし、「Google は何を実行しているのですか?」のようなものを探している場合は、ロードバランサーの背後にあるものがわからないか、ファイアウォールがそれをブロックするため、遠くに行くことはできません。フィンガープリンティングは非常に正確である可能性があるため、誤ったレポートが返され、接続が何らかの方法でNATの場合、どこにも到達できない可能性があります
解決策 3:
Netcraft に尋ねる:そのサイトは何を運営していますか?
http://uptime.netcraft.com/up/graph?site=google.com は「サーバー:gws」(つまり、Google Web サーバー) を返します。