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 Sì, 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:
- Deseleziona Derivi ID in base a RFC 4944.
- Aggiorna il contesto 0 con il prefisso locale della mesh per la rete Thread di destinazione.
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:
- Imposta Ethertype 802.15.4 (in esadecimale) su "0x809a".
- Imposta Security Suite su "Crittografia AES-128, protezione dell'integrità a 32 bit".
Fai clic sul pulsante Modifica… accanto a Chiavi di decrittografia, dove puoi aggiungere la chiave principale della rete Thread per la decrittografia dei pacchetti.
- Fai clic su + per aggiungere una chiave di decrittografia.
- Inserisci la chiave principale della rete Thread nella colonna Chiave di decrittografia.
- Inserisci "1" come indice della chiave di decrittografia.
Seleziona Hash thread dall'elenco della colonna Hash chiave.
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:
- In Wireshark, vai ad Analizza e poi fai clic su Protocolli abilitati.
Deseleziona i seguenti protocolli:
- LwMesh
- ZigBee
- ZigBee Green Power
Configurare l'RSSI di Wireshark
Per visualizzare l'RSSI in Wireshark:
- Seleziona Preferenze… ed espandi la sezione Protocolli, poi fai clic su IEEE 802.15.4.
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.
Fai clic su OK per salvare e tornare al menu Preferenze.
In Preferenze, seleziona Aspetto e poi Colonne.
Aggiungi una nuova voce:
- Titolo: RSSI
- Tipo: personalizzato
- Campi: wpan.rssi