En esta guía, se explica cómo configurar extcap para Wireshark con el objetivo de detectar paquetes de un Red de Thread
Si deseas utilizar Pyspinel para realizar análisis de paquetes sin extcap, consulta Sniffing de paquetes con Pispinel.
Configura el entorno de sniffer
Antes de comenzar, completa los siguientes pasos:
- Consulta los requisitos de detección de paquetes.
- Instala y configura Wireshark.
- Instala Pyspinel y dependencias con extcap.
Verificación
Esta guía se verificó con Zolertia Firefly (Texas Instruments CC2538 SoC) en los siguientes sistemas host:
- Debian 4.19.37: Wireshark 3.0.4
- macOS Mojave 10.14.6 — Wireshark 3.0.5
- Windows 10 de 64 bits, versión 17134: Wireshark 3.0.6
Compila e instala el detector
Las instrucciones de compilación y escritura en la memoria flash varían según la plataforma.
Para obtener instrucciones sobre cómo compilar e instalar la CC2538, consulta el ejemplo de CC2538. README en GitHub.
Para obtener instrucciones generales de compilación, consulta Cómo compilar OpenThread.
Usa el detector
La pantalla de captura de Wireshark se muestra cuando se inicia Wireshark por primera vez. Integra Se deben indicar las interfaces de hardware conectadas a un detector de OpenThread.
Realiza capturas desde una sola interfaz
Si es la primera vez que usas una interfaz, haz clic en el botón Opciones. a la izquierda de la interfaz:
- Configura el Canal con el valor deseado.
- Consulta el estándar IEEE 802.15.4 TAP para asegurarte de que la información del canal esté se incluye en el resultado del pcap y se puede mostrar en la GUI de Wireshark.
- Marca Guardar parámetros en el inicio de la captura para garantizar que estos los parámetros se guardan después del inicio de la captura para evitar tener la próxima vez que uses la interfaz (a menos que necesites cambiar el canal).
- Haz clic en Iniciar.
Si ya se guardaron los parámetros, selecciona el hardware y haz clic en el ícono de Wireshark en la parte superior izquierda.
Captura desde interfaces múltiples
Selecciona todas las interfaces de hardware que aparezcan en la pantalla de captura y haz clic en el Ícono de Wireshark en la parte superior izquierda.
Utiliza estos campos para identificar detectores individuales cuando realices capturas de varias interfaces:
- Interface ID (frame.interface_id): identificador de interfaz que usa Wireshark para identificar una interfaz de captura
- Nombre de la interfaz (frame.interface_name): Nombre de la interfaz que usa Wireshark para identificar una interfaz de captura
- Canal (wpan-tap.ch_num): Canal de captura IEEE 802.15.4 (rango: 11-26)
Soluciona problemas
El detector de OpenThread no aparece como interfaz de Wireshark.
- Si tienes instalados varios intérpretes de Python, asegúrate de que Python 3 extcap. Pyspinel no es compatible con Python 2.
- Verifica si se enumera el hardware en el USB y si los controladores están cargados.
- Comprueba que se haya instalado el firmware correcto (NCP o RCP) al hardware.
- Verifica que se pueda ejecutar la secuencia de comandos de Python ubicada en la ruta de acceso extcap.
- Para OS X y Linux:
- Verifica que el permiso de ejecución esté presente para
extcap_ot.py
. archivo:ls -l extcap_ot.py
- Si falta el permiso de ejecución (x), modifícalos:
chmod +x extcap_ot.py
- Verifica que la interfaz esté en la lista:
extcap_ot.py --extcap-interfaces
- Verifica que el permiso de ejecución esté presente para
- Para Windows:
- Verifica que la interfaz esté en la lista:
extcap_ot.bat --extcap-interfaces
- Si esto sale con un error de Python, verifica que la versión de Python sea 3.x:
py -3 --version
- Verifica que la interfaz esté en la lista:
- Para OS X y Linux:
Wireshark solo permite que el usuario raíz capture paquetes
Durante la instalación de Wireshark en Ubuntu, se le pedirá al usuario que elija una. de las siguientes opciones:
- Crea el grupo de usuarios
wireshark
y permite que todos los miembros de ese grupo y captura paquetes. - Permitir que solo el usuario
root
capture paquetes
No se recomienda usar Wireshark como usuario root
. Si elegiste
esa opción, cambia la configuración:
sudo dpkg-reconfigure wireshark-common
Si Wireshark se configuró para restringir la captura a los miembros del
wireshark
, es posible que debas agregar al usuario correcto al grupo:
sudo usermod -a -G wireshark user
También agrega el usuario correcto al grupo dialout
:
sudo usermod -a -G dialout user
Cierra y reinicia Wireshark para aplicar la configuración del nuevo grupo de usuarios.
Error de formato de Wireshark cuando se hace una captura en varias interfaces USB en Windows
Este es un problema conocido para algunas versiones anteriores de Wireshark. Asegúrate de estar usando Wireshark 3.0.6 o más adelante.