Visualizza il codice sorgente su GitHub
Questa guida spiega come configurare un extcap per consentire a Wireshark di sniffare i pacchetti da un Rete Thread.
Per utilizzare Pyspinel per lo sniffing dei pacchetti senza extcap, fai riferimento all'articolo Packet Sniffing con Pispinello.
Configurare l'ambiente di sniffer
Prima di iniziare, completa i seguenti passaggi:
- Esamina i requisiti per l'analisi dei pacchetti.
- Installa e configura Wireshark.
- Installa Pyspinel e le dipendenze con extcap.
Verifica
Questa guida è stata verificata con il software Zolertia Firefly (Texas Instruments CC2538 SoC) sui seguenti sistemi host:
- Debian 4.19.37 — Wireshark 3.0.4
- macOS Mojave 10.14.6 - Wireshark 3.0.5
- Windows 10 a 64 bit versione 17134 - Wireshark 3.0.6
Crea ed esegui il flashing dello sniffer
Le istruzioni per la build e il flashing variano in base alla piattaforma.
Per istruzioni sulla creazione e il flashing di CC2538, fai riferimento all'esempio di CC2538 README su GitHub.
Per istruzioni generali sulla build, consulta Come creare OpenThread.
Usare lo sniffer
La schermata di acquisizione di Wireshark viene visualizzata al primo avvio di Wireshark. it dovrebbe elencare le interfacce hardware collegate a uno sniffer OpenThread.
Acquisisci da un'unica interfaccia
Se è la prima volta che utilizzi un'interfaccia, fai clic sul pulsante Opzioni. A sinistra dell'interfaccia:
- Imposta il valore desiderato per Canale.
- Controlla lo standard IEEE 802.15.4 TAP per assicurarti che le informazioni sul canale siano incluso nell'output pcap e può essere visualizzato nella GUI di Wireshark.
- Seleziona Salva parametri all'inizio dell'acquisizione per assicurarti che vengono salvati dopo l'avvio dell'acquisizione, per evitare di dover impostarla di nuovo la volta successiva che userai l'interfaccia (a meno che tu non debba cambiare canale).
- Fai clic su Avvia.
Se i parametri sono già salvati, inizia a sniffing selezionando l'hardware e facendo clic sull'icona di Wireshark in alto a sinistra.
Acquisisci da più interfacce
Seleziona tutte le interfacce hardware elencate nella schermata di acquisizione e fai clic sull'icona Icona Wireshark in alto a sinistra.
Utilizza questi campi per identificare i singoli sniffer durante l'acquisizione da più interfacce:
- ID interfaccia (frame.interface_id): identificatore di interfaccia utilizzato da Wireshark per identificare un'interfaccia di acquisizione
- Nome interfaccia (frame.interface_name): nome dell'interfaccia utilizzato da Wireshark per identificare un'interfaccia di acquisizione
- Canale (wpan-tap.ch_num): canale di acquisizione IEEE 802.15.4 (intervallo: 11-26)
Risoluzione dei problemi
Lo sniffer OpenThread non è elencato come interfaccia Wireshark
- Se hai installato più interpreti Python, assicurati che Python 3 interprete è utilizzato dallo script extcap. Pyspinel non supporta Python 2.
- Controlla se l'hardware è elencato su USB e i driver sono caricati.
- Verifica che il firmware corretto (NCP o RCP) sia stato aggiornato sul hardware.
- Verifica che lo script Python posizionato nel percorso extcap sia eseguibile.
- Per OS X e Linux:
- Verifica che sia presente l'autorizzazione di esecuzione per
extcap_ot.py
file:ls -l extcap_ot.py
- Se l'autorizzazione di esecuzione (x) non è presente, modifica le autorizzazioni:
chmod +x extcap_ot.py
- Verifica che l'interfaccia sia elencata:
extcap_ot.py --extcap-interfaces
- Verifica che sia presente l'autorizzazione di esecuzione per
- Per Windows:
- Verifica che l'interfaccia sia elencata:
extcap_ot.bat --extcap-interfaces
- Se si verifica un errore Python, verifica che la versione Python sia 3.x:
py -3 --version
- Verifica che l'interfaccia sia elencata:
- Per OS X e Linux:
Wireshark consente solo all'utente root di acquisire pacchetti
Durante l'installazione di Wireshark su Ubuntu all'utente verrà chiesto di sceglierne una una delle seguenti opzioni:
- Crea il gruppo di utenti
wireshark
e consenti a tutti i membri di quel gruppo di e acquisire pacchetti. - Consenti solo all'utente
root
di acquisire i pacchetti.
Sconsigliamo vivamente di utilizzare Wireshark come utente di root
. Se scegli
questa opzione, modifica l'impostazione:
sudo dpkg-reconfigure wireshark-common
Se Wireshark è stato configurato in modo da limitare l'acquisizione ai membri del gruppo
wireshark
gruppo, potresti dover aggiungere l'utente corretto al gruppo:
sudo usermod -a -G wireshark user
Aggiungi anche l'utente corretto al gruppo dialout
:
sudo usermod -a -G dialout user
Chiudi e riavvia Wireshark per applicare le nuove impostazioni del gruppo di utenti.
Errore di formato Wireshark durante l'acquisizione su più interfacce USB su Windows
Si tratta di un problema noto per alcune vecchie versioni di Wireshark. Assicurarsi di utilizzare Wireshark 3.0.6 o in un secondo momento.