Installare e configurare Wireshark

Visualizza il codice sorgente su GitHub

Wireshark è uno strumento open source che può decodificare i protocolli di rete nello stack Thread, come IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Establishment), UDP e CoAP.

Lo strumento di sniffer Pyspinel si connette a un dispositivo Thread NCP o RCP e lo converte in uno sniffer di pacchetti promiscuo, generando uno stream pcap (packet capture) da salvare o inviare direttamente a Wireshark.

Per utilizzare Wireshark con Pyspinel, consulta i consigli di installazione nel passaggio successivo. Dovrai anche configurare Wireshark per mostrare correttamente i pacchetti Thread e ricevere le misurazioni RSSI.

Installa Wireshark

Linux

Apri un terminale ed esegui i seguenti comandi per scaricare e installare Wireshark:

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

Ti consigliamo di eseguire Wireshark come utente diverso da root. Per farlo, riconfigura il pacchetto:

sudo dpkg-reconfigure wireshark-common

Quando viene visualizzata la finestra di dialogo "Gli utenti non superuser devono essere in grado di acquisire i pacchetti?", selezionate , quindi aggiungete l'utente wireshark e aggiornate le autorizzazioni dei file:

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

macOS e Windows

Scarica e installa Wireshark. Per ottimizzare la sicurezza del sistema operativo, consulta Wireshark - informazioni specifiche della piattaforma sui privilegi di acquisizione.

Configurare i protocolli di Wireshark

Per configurare i protocolli, seleziona Preferenze… in Wireshark ed espandi la sezione Protocolli.

6LoWPAN

Seleziona 6LoWPAN dall'elenco dei protocolli e verifica o modifica le seguenti impostazioni:

  1. Deseleziona Derivi ID in base a RFC 4944.
  2. Aggiorna il contesto 0 con il prefisso locale della mesh per la rete Thread di destinazione.

OT Sniffer Wireshark 6LoWPAN

Wireshark utilizza le configurazioni di contesto per analizzare l'indirizzo IPv6 compresso e visualizzare correttamente gli indirizzi IPv6 di origine e di destinazione.

Per mostrare gli indirizzi di altri prefissi on-mesh configurati sul gateway, aggiorna gli altri ID contesto con questi prefissi.

Per ottenere l'ID contesto per un prefisso on-mesh specifico, visualizza il TLV Dati di rete Thread in qualsiasi messaggio di risposta MLE Data. Ad esempio:

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

CoAP

Seleziona CoAP dall'elenco dei protocolli e imposta Porta UDP CoAP su 61631. In questo modo, i messaggi TMF (come la richiesta di indirizzo) vengono visualizzati.

IEEE 802.15.4

Seleziona IEEE 802.15.4 dall'elenco dei protocolli e verifica o modifica le seguenti impostazioni:

  1. Imposta Ethertype 802.15.4 (in esadecimale) su "0x809a".
  2. Imposta Security Suite su "Crittografia AES-128, protezione dell'integrità a 32 bit".
  3. Fai clic sul pulsante Modifica… accanto a Chiavi di decrittografia, dove puoi aggiungere la chiave principale della rete Thread per la decrittografia dei pacchetti.

    1. Fai clic su + per aggiungere una chiave di decrittografia.
    2. Inserisci la chiave principale della rete Thread nella colonna Chiave di decrittografia.
    3. Inserisci "1" come indice della chiave di decrittografia.
    4. Seleziona Hash thread dall'elenco della colonna Hash chiave.

      OT Sniffer Wireshark IEEE 802.15.4

    5. Fai clic su OK per salvare la chiave di decrittografia.

Thread

Seleziona Thread dall'elenco dei protocolli e verifica o modifica le seguenti impostazioni:

  • Inserisci "00000000" per il Contatore sequenza thread.
  • Deseleziona Utilizza l'ID PAN come primi due ottetti della chiave principale.
  • Seleziona Acquisisci automaticamente il contatore della sequenza del thread.

Fai clic sul pulsante OK per salvare le modifiche al protocollo.

Parte del traffico Thread potrebbe essere analizzata come protocollo ZigBee. Per visualizzare correttamente questi due protocolli, modifica i protocolli abilitati in Wireshark:

  1. In Wireshark, vai ad Analizza e poi fai clic su Protocolli abilitati.
  2. Deseleziona i seguenti protocolli:

    1. LwMesh
    2. ZigBee
    3. ZigBee Green Power

Configurare l'RSSI di Wireshark

Per visualizzare l'RSSI in Wireshark:

  1. Seleziona Preferenze… ed espandi la sezione Protocolli, poi fai clic su IEEE 802.15.4.
  2. Imposta il formato FCS:

    • Se il TAP IEEE 802.15.4 è disattivato: metadati TI CC24xx.
    • Se è attivato il protocollo TAP IEEE 802.15.4: ITU-T CRC-16. Se stai seguendo la guida al monitoraggio dei pacchetti per il Nordic Semiconductor nRF52840 DK, consulta il flag --tap per ulteriori informazioni.
  3. Fai clic su OK per salvare e tornare al menu Preferenze.

  4. In Preferenze, seleziona Aspetto e poi Colonne.

  5. Aggiungi una nuova voce:

    • Titolo: RSSI
    • Tipo: personalizzato
    • Campi: wpan.rssi

RSSI di Wireshark per sniffer OT