web-dev-qa-db-ja.com

特定のサイトが実行しているサーバーOSを確認するにはどうすればよいですか?

特定のサイトが実行しているサーバーOSを確認する方法はありますか?たとえば、linuxコマンドラインから。多分Telnet経由?しかし、「telnet www.google.com http」から取得できるのは次のとおりです。

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

可能であれば、誰かがこの問題について詳しく説明できますか?

13
ervv

NMapに組み込まれたOSフィンガープリント機能を探すことができます。

ただし、「Googleは何を実行していますか?」ロードバランサーの背後に何があるのか​​わからないため、遠くまでは行けません。または、ファイアウォールによってブロックされ、フィンガープリントは非常に正確なため、誤ったレポートが返され、接続が何らかの理由でNATになったときにどこにも届かない場合があります。 ed。

13

多くのサイトが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、Webサーバー、検索サーバー、データベースサーバー、キャッシングサーバー、およびそれらが実行する他のすべてで使用されている可能性のあるものすべてで、単一のHTTPリクエストの実行に関与しているサーバーの数では意味をなさないこともあります異なるオペレーティングシステムであり、知る方法がありません。

15
Ladadadada

Netcraftに尋ねる: そのサイトは何を実行していますか?

http://uptime.netcraft.com/up/graph?site=google.com は "server:gws"(つまりGoogle Web Server)を返します。

5
Chris S