5

私はグーグルアンドロイドのためにプログラミングしています、そして私はワイヤレス802.11ネットワークのスキャンが受動的に行われるのか能動的に行われるのか疑問に思いますか?つまり、デバイスは実際にビーコン要求信号をWifiManager.startScan()送信しますか、それともアクセスポイントから定期的に送信されるビーコンをリッスンするだけですか?

4

3 に答える 3

3

Android はパッシブ スキャンを実行し、ビーコンをリッスンします。アクティブ スキャンを実行すると、プローブ要求を送信してプローブ応答を待機することにより、ネットワーク上で多くの輻輳が発生する可能性があります。

于 2010-08-13T16:47:58.150 に答える
0

答えはイエスです

実際、omnipeek を使用して Android/iOS デバイスからパッケージをキャプチャすると、以下の結果が得られます。
  • ほとんどの Android デバイスは常に、数分ごとに Probe Request Frame を送信しようとします。接続に使用した SSID のリストを保持し、常にSSID を含むプローブ要求フレームを送信して、それらが現在使用可能かどうかを確認しようとします。理由の 1 つは802.11 の事前認証だと思いますが、他の理由としては、wifi リストの表示速度を向上させることが考えられます。
  • 彼らはアクティブに働いています。
  • iOS デバイスがアクティブ スキャンを実行することはめったにありません

ルールについて詳しく知りたい場合は、「802.11 ワイヤレス ネットワーク ザ ガイド」をお読みください。

次の写真を参照できます: omnipeek によってキャプチャされたパッケージ

于 2016-03-11T03:51:41.767 に答える
0

この質問は11年前のものですが、今日でも関連性があるため、最新の回答を提供すると思いました。

はい、Android デバイスは AP をアクティブに検索します。パッシブ スキャンでは、デバイスがビーコンを長時間リッスンする必要があり、エネルギーを消費します。詳細については、Freudiger によるこのペーパーを参照してください。

アクティブ スキャンでは、プローブ リクエストを送信し、対応するチャネルで応答を待つだけです。これは、ラジオをオンにする必要がある時間がはるかに短いため、必要なエネルギーが少なくて済みます。残念ながら、アクティブ スキャンでは、デバイスが何らかの方法で自分自身を識別する必要があり、これにより簡単に追跡できます。緩和策としては、バーストごとの MAC アドレスのランダム化、AP との接続中の MAC のランダム化、シーケンス番号のランダム化、不要なフィールドの省略などがあります。アルゴリズムを最適化してプローブ要求を介して追跡を改善する方法をまだ見つけているため、それだけでは十分ではないようです。;-)

Rain Ma は、Probe Requests には SSID が含まれていると回答しましたが、これは技術的にすべてのデバイスに当てはまるわけではありません。プローブ リクエストで SSID を使用する唯一の理由は、非表示のネットワークを見つけることです。Android デバイスでは、新しい OS バージョンは SSID をまったく送信しなくなりました。これは、非表示のネットワークをスキャンする場合を除きます。Android 8 までは、手動で追加されたネットワークはすべて自動的に非表示のネットワークと見なされていました。Android 9 以降では、デバイスが SSID でプローブできるように、ネットワークを「非表示」に明示的にマークする必要があります。iOS は非表示のネットワークを自動的に検出します。また、非表示のネットワークを検出しない限り、SSID をまったくプローブしないと言われています。

于 2022-01-17T09:33:00.113 に答える