コマンド(ICMPメッセージや別のプロトコルなど)を実行し、リモートマシン(自分のプライベートローカルネットワーク上ではない)から応答を取得してメッセージを分析し、このマシンがWindowsまたはLinuxオペレーティングシステム?
コマンド(ICMPメッセージや別のプロトコルなど)を実行し、リモートマシン(自分のプライベートローカルネットワーク上ではない)から応答を取得してメッセージを分析し、このマシンがWindowsまたはLinuxオペレーティングシステム?
回答:
それは決定的ではありませんが、nmapはコマンドでこれを行いますnmap -O -v
(詳細についてはドキュメントを参照してください)Windowsを実行している場合、またはGUIが必要な場合は、zenmapを参照してください
IPv4ネットワークを使用している場合は、pingを使用してください。応答のTTLが128の場合、ターゲットはおそらくWindowsを実行しています。TTLが64の場合、ターゲットはおそらくUnixの変種を実行しています。
: Presumes ping service enabled on Windows local and remote hosts
:
del _IX.txt, Windows.txt
ping -n 1 [computername|ipaddress] | findstr /i /c:"Reply" > ttl.txt
for /f "tokens=1-9* delims=:=< " %%a in (ttl.txt) do (
if %%i leq 130 (
if %%i geq 100 (
echo Windows & rem or echo %%c >> Windows.txt
) else (
if %%i equ 64 (
echo *IX & rem or echo %%c >> _IX.txt
)
)
)
)
パッケージ:xprobe 'OR' xprobe2
説明:リモートOSの識別Xprobe2を使用すると、リモートホストで実行されているオペレーティングシステムを特定できます。ホストにいくつかのパケットを送信し、返された回答を分析します。Xprobe2の機能は、nmapのOSフィンガープリント機能に相当します。
例:
$ sudo apt-get install xprobe
$ sudo xprobe2 -T21-23,80,53,110 ###。###。###。###
リファレンス:
http : //www.sys-security.com/html/projects/X.html
http://sourceforge.net/projects/xprobe/
古い投稿ですが、私もこれに追加すると思いましたが、デバイスでSNMPが有効になっている場合は、sysDescrを照会して、使用しているOSを通知することもできます。
MIBブラウザーをダウンロードします。私が使用するのに適したブラウザーはhttp://www.ireasoning.com/downloadmibbrowserfree.phpです。基本的には、デバイスのIPアドレスを割り当てて、ウォーク操作を実行します。
Johnathon64の提案に従って、リモートサーバー自体がSNMPを使用するように構成されている場合、SNMPを使用してサーバーに直接クエリを実行できます。これを行うには、以下のようなコマンドラインクエリを起動します。
snmpget -v1 -c public <RemoteServerIP> sysDescr.0 | sed -n 's/.*STRING: //p' | tr -d \"
コマンド自体の説明:
snmpget
オブジェクトのデフォルト名を含むオブジェクトsysDescrを照会します。sed
では、ポーリングされたOIDと文字列の先頭のみを含む最初の出力を除外します。tr
は、通常はSNMPクエリにある二重引用符を除外します。最後の2つのコマンドは、出力をフォーマットするためのものです。必要がない場合は、最初のコマンドを使用して完全な出力を抽出できます。