8 votes

Les appareils Android effectuent-ils un balayage actif ou passif lorsqu'ils recherchent un point d'accès WiFi ?

J'aimerais savoir si les appareils Android font un scan actif ou passif lorsqu'ils recherchent l'AP à connecter. J'ai déjà fait un test en utilisant Wireshark et wifi sniffer et il semble que tandis qu'un iPhone envoie des trames Probe Request pour découvrir les APs disponibles (scan actif), mon appareil Android envoie parfois des trames Probe Request, mais la plupart du temps il n'envoie pas de trames Probe Request du tout, mais attend que l'AP envoie une trame Beacon (scan passif).

J'ai cherché des informations/documents officiels sur ce sujet, mais je n'ai encore rien trouvé d'utile. Je serais très reconnaissant si quelqu'un pouvait me fournir la réponse à cette question.

1 votes

Lorsqu'un téléphone mobile recherche activement un point d'accès, il doit envoyer une demande de sondage et non une trame de balise. Le téléphone mobile doit attendre une réponse de balise ou de sonde.

0 votes

@mattm Vous avez raison. J'ai modifié la question pour qu'elle soit correcte maintenant.

7voto

La seule explication "officielle" que j'ai trouvée se trouve dans le document suivant ce commentaire (daté de juillet 2009) dans les dépôts Git sur Android :

wifi : WifiManager.startScan() effectue désormais des analyses passives par défaut. .

Les balayages actifs n'auront lieu que si un PA caché est utilisé, ou si la nouvelle méthode WifiManager.startScanActive() s'appelle.

L'existence d'une fonction cachée permettant de lancer un balayage actif (rapportée aquí ) suggère que la fonction normale de balayage est effectivement passive. Ceci est à prendre avec un grain de sel, cependant, car la documentation Android ne dit pas explicitement si la fonction WifiManager.startScan() est passive ou non.

Également liés : ces deux billets sur le SO ( poste 1 , poste 2 ) rapportent que l'activité de balayage est passive (post 1) et que depuis Android 4.3 il n'est même pas possible d'appeler la méthode de balayage actif (post 2) - mais il n'y a pas de lien vers des sources officielles.

1voto

bohbian Points 101

J'ai également cherché le document officiel pour obtenir une réponse exacte. Mais je n'en ai pas trouvé. C'est pourquoi j'écris ceci en me basant sur mes propres suppositions. Je crois qu'un appareil client (mobile dans ce cas) fait à la fois le scan actif et passif. Mes raisons sont les suivantes :

  1. Lorsqu'un mobile active l'interface WiFi, il doit rechercher les balises émises par les points d'accès voisins afin que les SSID disponibles soient répertoriés pour la connexion. Il s'agit d'un mode de balayage passif.
  2. Un mobile qui s'est déjà connecté à plusieurs SSID enverra les trames de demande d'exploration (avec tous les SSID) aux points d'accès proches et si les SSID correspondent, le point d'accès répondra à la demande d'exploration et le processus de connexion/authentification commencera. Il s'agit d'un mode de balayage actif.
  3. Cas particulier pour l'AP avec SSID caché. Lorsque l'utilisateur se connecte manuellement au SSID caché, le dispositif mobile génère une demande de sondage et la diffuse aux points d'accès proches. Lorsque le SSID correspond à l'un des points d'accès, il suit le processus de connexion/authentification. Il s'agit également d'un mode de balayage actif.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X