2012-02-06 8 views
1

IPアドレスを使用してWebサーバーのオペレーティングシステムのバージョンを検出する方法はありますか(Webサーバーがphpを実行しているという知識があります)。WebサーバーのOSバージョンを検出する方法

私は初心者であるため、まだコードを作成しようとはしていません。易しいですか?それは可能なのか全くできないのでしょうか?

答えて

6

すべてのオペレーティングシステムと構成で、リモートサーバー上のOSを検出する公式の方法はありません。このような情報を公開するのはセキュリティ上のリスクと考えられます。OSのバージョンや実行されるサービスに基づいて直接的な攻撃を調べることができるからです。

しかし、公開されているサービスに応じて、OSを「推測」するようにシステムに指紋を付けることができます。多くのサービスでは、現在稼働しているOSが明らかになります。また、いくつかのヒントやシステムに関する広範な情報が提供されます。

私は確かにPHPの試み、そのようなプロジェクトで経験の浅い人にお勧めしますが、ここではいくつかのリンクあなたが始めるためにありません。

あなただけを見つけるためにしようとしている場合あなたのウェブサイトを閲覧しているユーザーのOSを調べるには、User-Agent HTTPヘッダーを調べる必要があります。http://en.wikipedia.org/wiki/User_agent

+0

ちょうどOS、User-Agentから取得したい場合は、LinuxやWindows Server 2003などを出力するためにどのようなコードを使用する必要がありますか? –

+0

'User-Agent'の固定フォーマットはありません。しかし、 "PHPはユーザーエージェントのOSを検出する"ための迅速なGoogleは、あなたにそれを達成する方法のスタートを与えることができる何百もの場所を与える必要があります。一般的には、エージェント文字列の "Windows"、 "Linux"または "OS X"を探し、そのようにマークします。 – Polynomial

+0

ありがとう:)それが助けることができるかどうか見ることができます:) –

-4

あなたの質問は明らかではありませんが、あなたのウェブサイトが動作しているシステムのOSを表示したいですか?あなたは試すことができます:

<?php 
echo (string)(PHP_OS); 
?> 

または

<?php 
echo $_SERVER['SERVER_SOFTWARE']; 
?> 

しかし、それは唯一のプラットフォーム(WindowsやLinux、MacOSの、など)、後者のスクリプトを示します、これはあなたのOSの正確なバージョンを返すことはありませんまた、ウィンドウの下に32/64ビットを表示します。

+0

これは尋ねられたものではありません。質問タイトルはそれをすべて言っています: "リモートマシン* PHPのOSバージョンを取得する方法" – Polynomial

+0

私はここであなたがリモートIP /サーバーのプラットフォームとして記述したものが私のものではないことを知りたいです:)それは可能ですか? –

+0

@Polynomialまさに:) –

関連する問題