Czy urządzenia z Androidem wykonują skanowanie aktywne lub pasywne, szukając AP WiFi

9

Chciałbym wiedzieć, czy urządzenia z Androidem wykonują skanowanie aktywne lub pasywne podczas szukania punktu dostępowego do połączenia. Przeprowadziłem już test przy użyciu Wiresharka i sniffera Wi-Fi i wydaje się, że podczas gdy iPhone wysyła ramki Probe Probe w celu wykrycia dostępnych AP (aktywne skanowanie), moje urządzenie z Androidem czasami wysyła ramkę Probe Probe, ale w większości przypadków nie wysyła Próbuj w ogóle żądać ramek, ale czeka, aż AP wyśle ​​ramkę Beacon (skanowanie pasywne).

Szukałem oficjalnych informacji / dokumentacji dotyczących tego tematu, ale nie znalazłem jeszcze nic przydatnego. Byłbym bardzo wdzięczny, gdyby ktoś mógł udzielić mi odpowiedzi na to pytanie.

fragon
źródło
1
Gdy telefon komórkowy aktywnie szuka AP, powinien wysyłać żądanie sondy, a nie ramkę nawigacyjną. Telefon komórkowy powinien szukać odpowiedzi na sygnał nawigacyjny lub sondę.
mattm,
@mattm Masz rację. Zredagowałem pytanie, aby było prawidłowe.
fragon

Odpowiedzi:

7

Jedyne „oficjalne” wyjaśnienie, które znalazłem, znajduje się w tym komentarzu (z lipca 2009 r.) W repozytoriach Git na Androida:

wifi: WifiManager.startScan () będzie teraz domyślnie skanował pasywnie .

Aktywne skanowanie nastąpi tylko wtedy, gdy używany jest ukryty punkt dostępowy lub jeśli zostanie wywołana nowa metoda WifiManager.startScanActive () .

Istnienie ukrytej funkcji w celu rozpoczęcia aktywnego skanowania ( tutaj zgłoszone ) sugeruje, że normalna funkcja skanowania jest rzeczywiście pasywna. Należy to jednak zrobić z odrobiną soli, ponieważ dokumentacja Androida nie mówi wprost, czy funkcja WifiManager.startScan () jest pasywna, czy nie.

Również powiązane: te dwa posty na SO ( post 1 , post 2 ) informują, że skanowanie jest pasywne (post 1) i że od Androida 4.3 nie można nawet wywołać metody aktywnego skanowania (post 2) - ale nie ma link do oficjalnych źródeł.

Społeczność
źródło
0

Dokładnie szukałem też oficjalnego dokumentu. Ale nie mogłem znaleźć. Stąd piszę tę bazę według własnego założenia. Uważam, że urządzenie klienckie (w tym przypadku mobilne) wykonuje zarówno skanowanie aktywne, jak i pasywne. Moje powody są następujące:

  1. Gdy telefon komórkowy aktywuje interfejs WiFi, musi skanować w poszukiwaniu sygnałów nawigacyjnych przez pobliski punkt dostępowy, aby dostępne identyfikatory SSID były wyświetlane na liście połączeń. To jest tryb pasywnego skanowania.
  2. Telefon komórkowy, który wcześniej był połączony z kilkoma identyfikatorami SSID, zniszczy ramki żądań sondy (ze wszystkimi identyfikatorami SSID) do pobliskiego AP, a jeśli identyfikator SSID się zgadza, AP odpowie na żądanie sondy i rozpocznie się proces połączenia / uwierzytelnienia. To jest aktywny tryb skanowania.
  3. Specjalny futerał na AP z ukrytym SSID. Gdy użytkownik ręcznie łączy się z ukrytym identyfikatorem SSID, urządzenie mobilne wygeneruje żądanie sondy i wyemituje je do pobliskiego punktu dostępu. Gdy identyfikator SSID pasuje do dowolnego punktu dostępowego, nastąpi proces połączenia / uwierzytelnienia. Jest to również aktywny tryb skanowania.
bohbian
źródło