Recientemente tuve la oportunidad de realizar un viaje al hermoso estado de Chiapas, como algunos sabrán vivo en el estado de Puebla, días antes de realizar mi viaje, vino a mi mente la idea de realizar un poco de Wardriving (para muchos de ustedes este concepto es completamente extraño a menos que sea un geak), el cual en términos simples consiste en realizar las búsqueda de redes inalámbricas mientras se viaja en un vehículo, en mi caso hice una pequeña variación que se le conoce como bus_wardriving, en donde el vehículo usado para desplazarse es un autobús. El dispositivo que decidí para capturar la información fue mi teléfono celular un Moto G6 Play, esto debido a que mi estancia en Chiapas iba a ser muy corta (día y medio), además no me apetecía llevar conmigo mi laptop y llamar la atención en sobremanera (imagina un tipo con su laptop encendida a las 3 am y con una antena WiFi externa), en mi smartphone programe un pequeño script en Python que me permitía almacenar la información que considere más relevante de cada red que detectaba (nombre o SSID, encriptación, canal y dirección MAC) y posteriormente almacenarlo en un fichero CSV.
Después de regresar del viaje, procedí a analizar la información, para ello cargue el fichero CSV en una base de datos relacional, en este caso MySQL, en donde en primer lugar procedí a eliminar las redes repetidas, por ejemplo, en el autobús que viaja contaba con servicio de WiFi a bordo, por lo tanto, esta red la detecte en más de una ocasión, para eliminar hacer este filtrado, ignore los registros en donde se repitiera la dirección MAC.
El primer análisis que realice fue conocer el tipo de seguridad que tienen las redes que detecte, dándome los siguientes resultados.
En donde 196 redes no tienen ningún protocolo de seguridad, 55 cuentan con el protocolo WEP, 70 cuentan solamente con el protocolo WPA, 1257 cuentan solamente con el protocolo WPA2 y finalmente 984 cuenta con los protocolos WPA y WPA2 simultáneamente. Para todos aquellos que se preguntan porque una red inalámbrica cuenta con dos protocolos de seguridad al mismo tiempo, esto se debe principalmente con problemas de compatibilidad con dispositivos antiguos (aproximadamente 10 años o más) que no son compatibles con el protocolo WPA2, un ejemplo es mi PSP 3000 que solo se puede conectar a redes WEP o WPA, de este modo permitimos que cualquier dispositivo que cuente con una tarjeta de red, se pueda conectar sin importar su antigüedad.
A continuación, mostramos una gráfica que nos permite ver cuántas veces se ha usado cada uno de los canales disponibles de comunicación para redes inalámbricas, en donde los más usados son los canales 1 (2412 MHz), 6 (2437 MHz) y 11 (2462 MHz).
El siguiente análisis que genere consiste en conocer quiénes son los principales fabricantes de los Access Point, en donde se obtuvieron los siguientes resultados.
Los dos primeros fabricantes Huawei Technologies Co.,Ltd y Arcadyan Corporation son ampliamente conocidos por ser proveedores de Access Point para Telmex (el proveedor de telefonía e internet más grande de México), el tercer fabricante TP-Link Technologies Co.,Ltd. se caracteriza por ofrecer Access Point a precios competitivos empezando en los $20 dólares americanos, y finalmente ARRIS Group, Inc. es uno de los proveedores de Access Point para Megacable (proveedor de telefonía, internet y televisión por cable).
El siguiente análisis que se genero fue gracias a que se empleó Minería de Datos, para ello, el objetivo es saber cuáles son las palabras más comunes en el nombre de una red inalámbrica para ello se hizo uso de Python y las librerías de NLTK y WordCloud, de este modo el resultado obtenido fue una nube de palabras, en donde entre más grande sea una palabra, más veces esta se detectó.
Esto confirma la hipótesis que habíamos descrito en el punto anterior, en donde es Telmex (la palabra que identifica las Access Point de esta empresa es INFINITUM) uno de los principales proveedores de servicios de Internet, seguido de Megacable (la palabra que identifica las Access Point de esta empresa es ARRIS).
Como conclusión podemos decir que el realizar Wardriving, o en este caso Bus_Wardriving nos permite obtener una gran cantidad de información con respecto a las redes inalámbricas que nos rodean, para posteriormente poder analizar esta información para generar nuevo conocimiento o confirmar una hipótesis que tengamos.