WebサーバーのOSバージョンを検出する方法

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

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

1

2 答え

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

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

PHPで経験の浅い誰もこのようなプロジェクトを試みることは間違いないと思いますが、ここでは始めるためのいくつかのリンクがあります:

If you're just trying to find out the OS of the user viewing your website, you should look into the User-Agent HTTP header: http://en.wikipedia.org/wiki/User_agent

6
追加された
User-Agent には固定フォーマットはありませんが、「PHPがユーザエージェントのOSを検出する」ためのすばらしいGoogleは、それを達成するための方法を開始できる何百もの場所を提供します。一般的には、エージェント文字列の "Windows"、 "Linux"または "OS X"を探し、そのようにマークします。
追加された 著者 Polynomial,
うーん、ちょうどOS、もし私がUser-Agentから入手したいのであれば、LinuxやWindows Server 2003などを出力するためにどのようなコードを使う必要があるのですか?
追加された 著者 Syed Saqib Nadvi,
ありがとう:)それが助けることができるかどうか見てみましょう
追加された 著者 Syed Saqib Nadvi,

あなたの質問は明らかに不明ですが、Webサイトが稼動しているシステムのOSを表示したいと思っていますか?あなたが試すことができます:

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

または

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

But this will never return a precise version of your OS as it will only indicating the platfまたはm(windows, linux, macos, etc) and the latter script also displays 32/64 bit under windows.

4
追加された
これは尋ねられたものではありません。質問のタイトルには、「PHPでリモートマシンのOSバージョンを取得する方法」
追加された 著者 Polynomial,
nmapやそれに類するツールのフロントエンドにすぎないでしょう。
追加された 著者 Polynomial,
簡単ではありませんが、それは可能です、それはPHP関連の質問ではありません
追加された 著者 Ahmed Masud,
私はここであなたがリモートIP /サーバーのプラットフォームとして私のものではないと説明したことを知りたいです:)それは可能ですか?
追加された 著者 Syed Saqib Nadvi,
@Polynomial正確に:)
追加された 著者 Syed Saqib Nadvi,
しかし、私はいくつかのPHP Webサイトを見ているWebサーバーのOSを決定する
追加された 著者 Syed Saqib Nadvi,
ああ私はそれに似て何かGoogleになるので参照してください:)
追加された 著者 Syed Saqib Nadvi,