web-dev-qa-db-ja.com

AndroidのOSフィンガープリント

従来のOSフィンガープリント技術は、ネットワーク上のAndroidスマートフォン(OSバージョン)を識別するのに効果的ですか。私の調査から、ほとんどのAndroidネットワークマッパーは実行のみ可能です。 from Androidプラットフォームおよびnmapなどのツールは失敗しました。

  1. Android 1.5 Cupcake Linuxカーネル2.6.27
  2. Android 1.6ドーナツLinuxカーネル2.6.29

    ................................................................. ………….

  3. Android 4.0.xアイスクリームサンドイッチLinuxカーネル3.0.1

ネットワーク上でスマートフォンまたはその他のWiFi対応スマートデバイスを識別する最良の方法は何ですか?次に、スマートデバイスと実際の物理マシン(サーバー/デスクトップ)をどのように区別できますか?

4
Ali Ahmad

パッシブOSフィンガープリントの観点から見ると、Android OSがwifiネットワーク上にあるときにOSを区別するには、主に2つの方法があります。

  1. 別の回答に記載されているWebクライアントでユーザーエージェントを使用します。これは、正確なバージョンを取得するために以前のバージョンでかなり簡単です。 2.0以降に入ると、Eclair、FROYO、GINGEBREADなどの名前を使用することもできます。

  2. DHCPトラフィックを取得できる場合は、これを利用して、すべてではなく一部のバージョンの違いを確認できます。いくつかは同じ基本的な指紋を利用します(例えば1.5-2.1)。場合によっては、Android=を実行しているデバイスのブランドを区別することができます。これは、基盤となるシステムがそのシステムの詳細を要求するように調整されているように見えるためです。

これらのフィンガープリント技術はどちらもSatori( http://chatteronthewire.org )によって行われます。

2
Eric

Androidはデバイスの「公式」OSですが、すべての基礎となるOS Android電話はLinuxです。これは、現在スマートフォンで使用されている最も人気のあるLinux OSでもあります。そのため、Linuxを実行していると識別される電話を見る場合、それはおそらくAndroidです。

問題は、Android=電話は、実行中のアプリがない限り、通常、ネットワークリスニングポートがまったく開いていないためです。ポートスキャンでは何も明らかになりません。

代わりに、デバイスで開始されたトラフィックを傍受し、暗号化されていないWebリクエストのUser-Agentなどの手がかりを監視する必要があります。

6
tylerl