Sniffing dei pacchetti con Extcap

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:

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:

OT Sniffer Wireshark Extcap Capture

  1. Imposta il valore desiderato per Canale.
  2. 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.
  3. 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).
  4. Fai clic su Avvia.

Opzioni OT Sniffer Wireshark Extcap

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)

Pacchetti Extcap Wireshark OT Sniffer

Risoluzione dei problemi

Lo sniffer OpenThread non è elencato come interfaccia Wireshark

  1. Se hai installato più interpreti Python, assicurati che Python 3 interprete è utilizzato dallo script extcap. Pyspinel non supporta Python 2.
  2. Controlla se l'hardware è elencato su USB e i driver sono caricati.
  3. Verifica che il firmware corretto (NCP o RCP) sia stato aggiornato sul hardware.
  4. Verifica che lo script Python posizionato nel percorso extcap sia eseguibile.
    • Per OS X e Linux:
      1. Verifica che sia presente l'autorizzazione di esecuzione per extcap_ot.py file:
        ls -l extcap_ot.py
        
      2. Se l'autorizzazione di esecuzione (x) non è presente, modifica le autorizzazioni:
        chmod +x extcap_ot.py
        
      3. Verifica che l'interfaccia sia elencata:
        extcap_ot.py --extcap-interfaces
        
    • Per Windows:
      1. Verifica che l'interfaccia sia elencata:
        extcap_ot.bat --extcap-interfaces
        
      2. Se si verifica un errore Python, verifica che la versione Python sia 3.x:
        py -3 --version
        

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:

  1. Crea il gruppo di utenti wireshark e consenti a tutti i membri di quel gruppo di e acquisire pacchetti.
  2. 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.