Seguimiento de la ubicación geográfica del usuario sin permiso en Android | Autor: Jack Huang | Buena gente | Diciembre de 2021
Esto es lo que hice por el laboratorio. Para la detección y triangulación de Wi-Fi, asociamos el nodo de Wi-Fi a la ubicación geográfica del usuario aproximado. Sin embargo, este método tiene dos limitaciones: debemos otorgar el permiso CHANGE_WIFI_STATE a la aplicación de Android y el dispositivo debe ser anterior a Android 8.1.
La idea principal detrás de la detección y triangulación de Wi-Fi es que la mayoría de los puntos de acceso Wi-Fi permanecen en la misma ubicación física después de la instalación. Con base en esta idea, si obtenemos al menos 3 ubicaciones de AP Wi-Fi cerca de la ubicación del usuario, definitivamente podemos calcular una cierta distancia del área de intersección, lo que nos ayuda a reducir la ubicación geográfica del usuario. Cuanto más puntos de acceso Wi-Fi cercanos escaneamos, más precisa será la triangulación del área de intersección estrecha, lo que proporciona una mayor proximidad a la ubicación geográfica del usuario.
Podemos usar la API WifiManager para recuperar puntos de acceso Wi-Fi cercanos.En cuanto a la información de ubicación geográfica del AP Wi-Fi, podemos consultar WiGLELa base de datos, un proyecto de código abierto, mantiene la base de datos y las estadísticas de las redes inalámbricas 802.11, enviadas por wardrivers, netstumblers y net hubgers.
Prueba de concepto
La captura de pantalla a continuación es una visualización del seguimiento de geolocalización desde mi residencia hasta el Centro Comercial Stanford en Palo Alto utilizando pruebas de sondeo y triangulación de Wi-Fi.
Puede notar que a veces no registro la ubicación geográfica (especialmente en el camino a Stanford); el motivo puede ser Conexión a internet inestable o Escasez de puntos de acceso En el camino desde el principio hasta el final.
Así es como los desarrolladores de Android pueden resolver este método con las siguientes dos actualizaciones:
- Después de Android 8.1, necesitamos otorgar permisos de ubicación porque la comunidad de Android es consciente de cómo el escaneo de nodos Wi-Fi revela la ubicación geográfica del usuario y actualiza los requisitos de permiso de la API de escaneo Wi-Fi.
- La versión superior del sistema operativo Android adopta Aleatorización de direcciones Mac Al detectar una nueva red, puede resultar en una triangulación de geolocalización incorrecta utilizando direcciones mac aleatorias.
Por lo tanto, si el usuario usa un teléfono Android después de Android 8.1, no permitimos que este método rastree la ubicación geográfica del usuario.