AndroidデバイスはWiFi APを探すときにアクティブまたはパッシブスキャンを行いますか


9

接続するAPを探すときに、Androidデバイスがアクティブスキャンを行うかパッシブスキャンを行うかを知りたいのですが。Wiresharkとwifiスニファーを使用してテストをすでに行っており、iPhoneがプローブ要求フレームを送信して利用可能なAPを検出している間(アクティブスキャン)、Androidデバイスがプローブ要求フレームを送信することがありますが、ほとんどの場合送信しませんプローブ要求フレームはまったくありますが、APがビーコンフレームを送信するのを待ちます(パッシブスキャン)。

このトピックに関する公式の情報/ドキュメントを探していましたが、まだ有用なものは見つかりませんでした。誰かがこの質問への答えを提供してくれたら私はとても感謝しています。


1
携帯電話がAPをアクティブにスキャンしているときは、ビーコンフレームではなく、プローブ要求を送信する必要があります。携帯電話は、ビーコンまたはプローブの応答を探している必要があります。
mattm

@mattmそうです。質問を編集したので、今はそれが正しいです。
フラゴン

回答:


7

私が見つけた唯一の「公式の」説明は、AndroidのGitリポジトリのこのコメント(2009年7月日付)にあります。

wifi:WifiManager.startScan()がデフォルトでパッシブスキャンを実行するようになりました

アクティブスキャンは、非表示のAPが使用されている場合、または新しいメソッドWifiManager.startScanActive()が呼び出された場合にのみ発生します 。

アクティブスキャンを開始するための隠し機能(ここで報告)の存在は、通常のスキャン機能が実際にパッシブであることを示唆しています。ただし、AndroidのドキュメントではWifiManager.startScan()関数がパッシブかどうかを明示的に伝えていないため、これは簡単に理解する必要があります。

また関連:SOのこの2つの投稿(投稿1投稿2)は、スキャンアクティビティがパッシブ(投稿1)であり、Android 4.3以降、アクティブスキャンメソッドを呼び出すことさえできない(投稿2)と報告していますが、公式ソースへのリンク。


0

私も正確な答えを得るために公式文書を探していました。しかし、何も見つかりませんでした。したがって、私はこのベースを自分の仮定で書いています。クライアントデバイス(この場合はモバイル)がアクティブスキャンとパッシブスキャンの両方を実行すると思います。私の理由は以下の通りです:

  1. モバイルがWiFiインターフェースをアクティブにすると、近くのAPがビーコンをスキャンして、使用可能なSSIDが接続用にリストされるようにする必要があります。これはパッシブスキャンモードです。
  2. 以前にいくつかのSSIDに接続されていたモバイルは、プローブ要求フレーム(すべてのSSIDを含む)を近くのAPにバストし、SSIDが一致すると、APがプローブ要求に応答し、接続/認証プロセスが開始されます。これはアクティブなスキャンモードです。
  3. 非表示のSSIDを持つAPの特殊なケース。ユーザーが非表示のSSIDに手動で接続すると、モバイルデバイスはプローブ要求を生成し、近くのAPにブロードキャストします。SSIDがAPのいずれかに一致すると、接続/認証プロセスが続きます。これもアクティブスキャンモードです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.