Análisis de paquetes con Extcap

Ver código fuente en GitHub

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:

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:

Captura de extremo de Wireshark Sniffer de OT

  1. Configura el Canal con el valor deseado.
  2. 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.
  3. 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).
  4. Haz clic en Iniciar.

Opciones de extremos de OT Sniffer Wireshark

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)

Paquetes de extcap de Wireshark para detector de OT

Soluciona problemas

El detector de OpenThread no aparece como interfaz de Wireshark.

  1. Si tienes instalados varios intérpretes de Python, asegúrate de que Python 3 extcap. Pyspinel no es compatible con Python 2.
  2. Verifica si se enumera el hardware en el USB y si los controladores están cargados.
  3. Comprueba que se haya instalado el firmware correcto (NCP o RCP) al hardware.
  4. Verifica que se pueda ejecutar la secuencia de comandos de Python ubicada en la ruta de acceso extcap.
    • Para OS X y Linux:
      1. Verifica que el permiso de ejecución esté presente para extcap_ot.py. archivo:
        ls -l extcap_ot.py
        
      2. Si falta el permiso de ejecución (x), modifícalos:
        chmod +x extcap_ot.py
        
      3. Verifica que la interfaz esté en la lista:
        extcap_ot.py --extcap-interfaces
        
    • Para Windows:
      1. Verifica que la interfaz esté en la lista:
        extcap_ot.bat --extcap-interfaces
        
      2. Si esto sale con un error de Python, verifica que la versión de Python sea 3.x:
        py -3 --version
        

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:

  1. Crea el grupo de usuarios wireshark y permite que todos los miembros de ese grupo y captura paquetes.
  2. 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.