La captura de paquetes Wi-Fi te permite ver detalles e interacciones que, de otro modo, se ocultan antes de llegar al software que se ejecuta en un dispositivo, lo que hace que estas capturas sean una herramienta importante para algunos tipos de errores.
Estos son los pasos principales que debes seguir:
- Encuentra el canal adecuado para capturar paquetes.
- Captura el tráfico.
- Comparte la captura y un hash de la contraseña de tu WLAN.
1. Determina el canal y el ancho correctos
Las redes WLAN operan en las siguientes bandas:
- Un canal, al que generalmente se hace referencia con un número Del 1 al 13 son para los canales de 2.4 GHz, y del 36 al 200, para los canales de 5 GHz.
- con un ancho específico (20 MHz, 40 MHz, 80 MHz o 160 MHz)
Por lo general, cada punto de acceso (por ejemplo, router o nodo de malla) de tu red tiene un canal único de 2.4 GHz y un canal de 5 GHz, y debes encontrar a cuál está conectado el dispositivo. Tienes las siguientes opciones:
Usa el panel de control del router
Si usas Nest WiFi, omite esta opción, ya que no se expone la información.
La mayoría de los routers tienen una lista de los dispositivos conectados y el canal y el ancho que usan.
- Encuentra la dirección IP de tu router con esta guía.
- Ve a la dirección de tu router en el navegador web, por ejemplo, http://192.168.1.1.
- Accede. ¿No sabes cuál es tu contraseña? Busca una etiqueta en el router o usa Contraseñas del router.
Busca una página con un nombre como "clientes" o "dispositivos conectados". Por ejemplo, la página de un router Netgear podría verse como la siguiente, o para los dispositivos Eero.
Es posible que debas buscar en otro lugar de la configuración para asignar la información del paso 4 a un canal y un ancho de banda determinados. Por ejemplo, un router Netgear:
Usa tu Mac si ya está conectada al mismo canal.
Mantén presionada la tecla Option en el teclado y, luego, haz clic en el ícono de WLAN en la esquina superior derecha de la barra de estado de tu Mac. Deberías ver el menú de WLAN normal con algunas opciones e información adicionales. Observa los elementos del menú que no están disponibles y busca el que menciona el canal:
`Channel 60 (DFS, 5GHz, 40MHz)`
No se pueden encontrar el canal ni el ancho
Si los otros métodos no funcionan, puedes probar lo siguiente:
Enumera todos los canales que usan tus AP (por lo general, 2 por cada AP o punto de malla).
a. Recomendado: Con un teléfono Android, puedes usar una app como Wifiman o Aruba Utilities.
a. En una Mac, puedes usar
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
para ver las opciones.Realiza una captura breve (incluso 15 segundos son suficientes) en cada uno de esos canales, siguiendo las instrucciones que se indican a continuación.
Instala Wireshark (para obtener ayuda, consulta Instala Wireshark).
Abre cada una de las capturas con Wireshark, aplica un filtro de visualización de
wlan.addr == YOUR_DEVICE'S_MAC
y observa si aparecen paquetes.
2. Cómo iniciar la captura
Importante: Cómo capturar el protocolo de enlace de 4 vías
Si la seguridad está activada para Wi-Fi, debes conocer las claves de encriptación para desencriptar los paquetes capturados. Las claves de encriptación se derivan de un protocolo de enlace de 4 vías que se produce cuando el dispositivo se conecta a la red y son únicas para cada conexión entre un dispositivo y el AP.
Por lo tanto, DEBES capturar el protocolo de enlace de 4 vías para descifrar las cargas útiles de Wi-Fi. Si el dispositivo ya está conectado a la red cuando inicias la captura, desconéctalo y vuelve a conectarlo (o reinícialo) una vez que comience la captura.
Captura en Mac
Mientras mantienes presionada la tecla Option del teclado, haz clic en el ícono de WLAN y, luego, selecciona "Abrir Diagnóstico Inalámbrico…":
En la barra de menú de Diagnóstico Inalámbrico, selecciona Ventana > Sniffer:
Establece el canal y el ancho en los valores que recuperaste antes (el ejemplo de captura de pantalla es para el canal 60 y el ancho de 40 MHz):
Presiona Start
y, luego, ingresa tu contraseña. Ahora, intenta reproducir el problema.
Asegúrate de capturar el protocolo de enlace de 4 vías de una conexión como se indica en Cómo capturar el protocolo de enlace de 4 vías.
Cuando termines, presiona Stop
. En /var/tmp
, se encuentra un nuevo archivo *.pcap
que contiene todo el tráfico. Un ejemplo de nombre de archivo es (null)_ch100_2018-11-06_10.52.01.pcap
.
Captura en Linux
Desactiva el Wi-Fi. Esto se puede hacer de las siguientes maneras:
- Usa la GUI (recomendado)
- Usa la CLI de Network Manager para indicarle que deje de administrar la interfaz de WLAN:
sudo nmcli dev set <wlan-ifname> managed on
- Si usas un administrador de red alternativo, ajusta la configuración según corresponda.
Guarda esta secuencia de comandos. Reemplaza
<wlan-ifname>
por el nombre de tu interfaz de Wi-Fi. En este documento, se supone que el nombre de la secuencia de comandos essetup-wifi-capture
.#!/usr/bin/env bash sudo ifconfig <wlan-ifname> down sudo rfkill unblock wifi sudo iwconfig <wlan-ifname> mode monitor sudo ifconfig <wlan-ifname> up sudo iw dev <wlan-ifname> set channel $@
Ejecuta la secuencia de comandos anterior y pasa el canal y el ancho de banda más alto para detectar, por ejemplo, el canal 153 con un ancho de banda de 80 MHz:
./setup-wifi-capture chan 153 80 MHz
Abre Wireshark. Ahora deberías poder capturar paquetes en la interfaz wlan.
3. Comparte la captura
Usa el Generador de PSK de WPA (clave sin procesar) para generar un hash de tu contraseña. Esto te permite descifrar la captura sin conocer tu contraseña de texto simple.
También debes compartir la PSK generada para que otros puedan descifrar la captura.
Apéndice
Instala Wireshark
Puedes instalar Wireshark con apt install wireshark en Linux o descargarlo en línea desde el sitio web de Wireshark.
Configura Wireshark para desencriptar el tráfico
Esto no es necesario para compartir tus archivos de captura. Solo hazlo si quieres examinar el tráfico desencriptado en Wireshark por tu cuenta.
Con la seguridad WPA2 en Wi-Fi, la WPA2-PSK no se usa directamente para la encriptación y desencriptación del tráfico. Se usa en un protocolo de enlace de 4 vías, que debes capturar para desencriptar paquetes. Sin embargo, si solo intentas capturar problemas de conexión a Wi-Fi o interrupciones en la conectividad, que se pueden obtener de los fotogramas de administración de Wi-Fi, no es necesario que captures el protocolo de enlace de 4 vías. En cualquier caso, no está de más capturarla.
Abre Wireshark y la página Preferences (menú de Wireshark > Preferences o **Cmd + , **).
Busca la sección "IEEE 802.11" en la categoría "Protocols" y asegúrate de que la opción "Enable decryption" esté marcada:
Haz clic en el botón Editar junto a la etiqueta Claves de desencriptación.
Haz clic en el botón "+" que se encuentra en la esquina inferior izquierda y selecciona la opción "wpa-pwd".
Haz clic en la columna de la clave de la fila recién creada (justo al lado de la cadena wpa-pwd), escribe tu PSK de WPA2 y SSID en el formato
<password>:<ssid>
. Por ejemplo, si el nombre de tu red eraMyHomeNetwork
y tu PSK de WPA2 eramyp4ssword
, escribemyp4ssword:MyHomeNetwork
.Haz clic en Aceptar para confirmar.
Para obtener más información, consulta la guía oficial de Wireshark (con capturas de pantalla) en How to Decrypt 802.11.
Si usas tshark
, pasa los siguientes argumentos:
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
Cómo colorear los datos de 802.11 de Wireshark
En metageek.com, se encuentra un práctico perfil de color 802.11: Wireshark Configuration Profile.