Instala y configura Wireshark

Ver código fuente en GitHub

Wireshark es una herramienta de código abierto que puede decodificar protocolos de red en Thread. como IEEE 802.15.4, 6LoWPAN, IPv6, MLE (establecimiento de vínculo de malla), UDP, y CoAP.

El detector de Pyspinel se conecta a un dispositivo Thread NCP o RCP y lo convierte en un detector de paquetes promiscuo, lo que genera una transmisión de pcap (captura de paquetes) para guardarse o canalizarse directamente a Wireshark.

Para usar Wireshark con Pyspinel, consulta las recomendaciones de instalación en la el próximo paso. También deberás configurar Wireshark para que muestre correctamente los paquetes de Thread y recibir mediciones de RSSI.

Instala Wireshark

Linux

Abre una terminal y ejecuta los siguientes comandos para descargar e instalar Wireshark:

sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark

Te recomendamos que ejecutes Wireshark como usuario que no es de root. Para hacerlo, vuelve a configurar el paquete:

sudo dpkg-reconfigure wireshark-common

Cuando veas el diálogo en el que se pregunta “¿Debe permitir que los usuarios que no sean superusuarios puedan capturar paquetes?”, Selecciona y, luego, agrega el usuario de wireshark y actualiza los permisos del archivo:

sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap

macOS y Windows

Descarga e instala Wireshark. Para optimizar la seguridad de tus operaciones consulta Wireshark: información específica de la plataforma sobre privilegios de captura.

Configura protocolos de Wireshark

Para configurar protocolos, selecciona Preferences... en Wireshark y expande el Sección Protocolos.

6LoWPAN

Selecciona 6LoWPAN en la lista de protocolos y verifica o cambia los siguientes configuración:

  1. Desmarca Derivar ID según RFC 4944.
  2. Actualiza el Contexto 0 con el prefijo local de malla para el subproceso de destino. en cada red.

OT Sniffer Wireshark 6LoWPAN

Wireshark usa configuraciones de contexto para analizar la dirección IPv6 comprimida y mostrar correctamente las direcciones IPv6 de origen y destino.

Para mostrar las direcciones de otros prefijos en malla configurados en la puerta de enlace, actualizar otros IDs de contexto con esos prefijos.

Para obtener el ID de contexto de un prefijo de malla específico, consulta los datos de la red de Thread TLV en cualquier mensaje de respuesta de datos de MLE. Por ejemplo:

Context 1: fd00:7d03:7d03:7d03::/64

CoAP

Selecciona CoAP en la lista de protocolos y configura Puerto UDP de CoAP al 61631. Esto garantiza que se muestren los mensajes de TMF (como la solicitud de dirección).

IEEE 802.15.4

Selecciona IEEE 802.15.4 de la lista de protocolos y verifica o cambia la los siguientes parámetros de configuración:

  1. Configura 802.15.4 Ethertype (en hexadecimal) en "0x809a".
  2. Configura el Paquete de seguridad como “Encriptación AES-128, integridad de 32 bits” Protección".
  3. Haz clic en el botón Editar... junto a Claves de desencriptación, que es donde Agrega la clave principal de la red de Thread para la desencriptación de paquetes.

    1. Haz clic en + para agregar una Clave de desencriptación.
    2. Ingresa la clave principal de la red de Thread en la columna Clave de desencriptación.
    3. Ingresa “1” como el índice de clave de desencriptación.
    4. Selecciona Hash del subproceso en el cuadro de lista de la columna Hash de la clave.

      OT Sniffer Wireshark IEEE 802.15.4

    5. Haz clic en Aceptar para guardar la clave de desencriptación.

Conversación

Selecciona Thread de la lista de protocolos y verifica o cambia lo siguiente configuración:

  • Ingresa “00000000” para el contador de secuencias de subprocesos.
  • Desmarca Usar ID PAN como los primeros dos octetos de la clave maestra.
  • Marca Adquiere automáticamente el contador de secuencias de subprocesos.

Haz clic en el botón OK para guardar los cambios en el protocolo.

Parte del tráfico de Thread se puede analizar como el protocolo Zigbee. Para Para ver estos dos protocolos, edita los protocolos habilitados en Wireshark:

  1. En Wireshark, ve a Analyze y, luego, haz clic en Enabled Protocols.
  2. Desmarca los siguientes protocolos:

    1. LwMesh
    2. ZigBee
    3. Energía verde de Zigbee

Configura el RSSI de Wireshark

Para mostrar RSSI en Wireshark, haz lo siguiente:

  1. Selecciona Preferences... y expande la sección Protocols. Luego, haz clic en IEEE 802.15.4
  2. Establece el Formato FCS:

    • Si se inhabilitó TAP IEEE 802.15.4: Metadatos de TI CC24xx.
    • Si está habilitado el estándar IEEE 802.15.4 TAP: ITU-T CRC-16. Si sigues la guía de Sniffing de paquetes del dispositivo Nordic Semiconductor nRF52840 DK, consulta la marca --tap para obtener más información.
  3. Haz clic en Aceptar para guardar y volver al menú Preferencias.

  4. En Preferences, selecciona Appearance y, luego, Columns.

  5. Agrega una entrada nueva:

    • Título: RSSI
    • Tipo: personalizado
    • Campos: wpan.rssi

RSSI de OT Sniffer Wireshark