¿Los dispositivos Android realizan un escaneo activo o pasivo cuando buscan WiFi AP?

Quisiera saber si los dispositivos Android hacen escaneo activo o pasivo al buscar el AP para conectarse. Ya realicé una prueba con Wireshark y wifi sniffer y parece que mientras un iPhone envía tramas de solicitud de sonda para descubrir AP disponibles (escaneo activo), mi dispositivo Android a veces envía tramas de solicitud de sonda, pero la mayoría de las veces no envía Probe Solicita tramas en absoluto, pero espera a que el AP envíe una trama Beacon (escaneo pasivo).

He estado buscando información/documentación oficial sobre este tema, pero aún no he encontrado nada útil. Agradecería mucho si alguien pudiera darme la respuesta a esta pregunta.

Respuestas (2)

La única explicación "oficial" que encontré está en este comentario (con fecha de julio de 2009) en los repositorios de Git en Android:

wifi: WifiManager.startScan() ahora hará escaneos pasivos por defecto .

Los escaneos activos solo se realizarán si se usa un AP oculto o si se llama al nuevo método WifiManager.startScanActive() .

La existencia de una función oculta para iniciar un escaneo activo (informada aquí ) sugiere que la función de escaneo normal es de hecho pasiva. Sin embargo, esto debe tomarse con pinzas, ya que la documentación de Android no indica explícitamente si la función WifiManager.startScan() es pasiva o no.

También relacionado: estas dos publicaciones en SO ( publicación 1 , publicación 2 ) informan que la actividad de escaneo es pasiva (publicación 1) y que, desde Android 4.3, ni siquiera es posible llamar al método de escaneo activo (publicación 2), pero no hay Enlace a fuentes oficiales.

También he estado buscando el documento oficial para obtener una respuesta exacta. Pero no pude encontrar ninguno. Por lo tanto, estoy escribiendo esta base en mi propia suposición. Creo que un dispositivo cliente (móvil en este caso) realiza tanto el escaneo activo como el pasivo. Mis razones son las siguientes:

  1. Cuando un móvil activa la interfaz WiFi, necesita buscar las balizas por AP cercano para que los SSID disponibles se enumeren para la conexión. Este es un modo de escaneo pasivo.
  2. Un móvil que se haya conectado a varios SSID antes enviará las tramas de solicitud de sondeo (con todos los SSID) al AP cercano y, si el SSID coincide, el AP responderá a la solicitud de sondeo y comenzará el proceso de conexión/autenticación. Este es un modo de escaneo activo.
  3. Caso especial para el AP con SSID oculto. Cuando el usuario se conecte manualmente al SSID oculto, el dispositivo móvil generará una solicitud de sondeo y la transmitirá al AP cercano. Cuando el SSID coincida con cualquiera de los AP, seguirá el proceso de conexión/autenticación. Este también es un modo de escaneo activo.