Sniffing dei pacchetti con Extcap

Visualizza l'origine su GitHub

Questa guida illustra come configurare Extcap per Wireshark per il sniffing dei pacchetti da una rete Thread.

Per utilizzare Pyspinel per lo sniffing dei pacchetti senza estensione, consulta Packet Sniffing with Pyspinel.

Configurare l'ambiente Stackdriver

Prima di iniziare, completa i seguenti passaggi:

Verifica

Questa guida è stata verificata con la Zolertia Firefly (Texas Tools 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 versione 17134 a 64 bit — Wireshark 3.0.6

Creazione e flashing dello shard

Le istruzioni di creazione e lampeggiamento variano in base alla piattaforma.

Per istruzioni sulla creazione e sul flashing del CC2538, consulta l'esempio di CC2538 per il file README su GitHub.

Per istruzioni generali sulla build, consulta Come creare OpenThread.

Utilizzare lo shard

La schermata di acquisizione di Wireshark viene visualizzata quando viene lanciato per la prima volta. Deve elencare le interfacce hardware collegate a uno snapshot OpenThread.

Acquisisci da una singola 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 Canale sul valore che preferisci.
  2. Controlla TEEEE 802.15.4 TAP per assicurarti che le informazioni del canale siano incluse nell'output del pcap e possano essere visualizzate nella GUI di Wireshark.
  3. Seleziona Salva parametri all'inizio dell'acquisizione per assicurarti che questi parametri vengano salvati dopo l'inizio dell'acquisizione, per evitare di dover ripetere la configurazione la prossima volta che utilizzi l'interfaccia (a meno che non sia necessario modificare il canale).
  4. Fai clic su Avvio.

Opzioni OT Sniffer Wireshark Extcap

Se i parametri sono già salvati, inizia a sniffare selezionando l'interfaccia hardware e facendo clic sull'icona Wireshark in alto a sinistra.

Acquisisci da più interfacce

Seleziona tutte le interfacce hardware elencate nella schermata di acquisizione e fai clic sull'icona Wireshark in alto a sinistra.

Utilizza questi campi per identificare i singoli shard durante l'acquisizione da più interfacce:

  • ID interfaccia (frame.interface_id): un identificatore dell'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 OT Sniffer Wireshark Extcap

Risoluzione dei problemi

Lo shard OpenThread non è elencato come interfaccia Wireshark

  1. Se hai installato più interpreti Python, assicurati che l'interprete Python 3 sia utilizzato dallo script extcap. Pyspinel non supporta Python 2.
  2. Verifica che l'hardware sia elencato su USB e che i driver siano caricati.
  3. Verifica che il firmware corretto (NCP o RCP) sia stato collegato all'hardware.
  4. Verifica che lo script Python che si trova nel percorso extcap sia eseguibile.
    • Per OS X e Linux:
      1. Verifica che sia presente l'autorizzazione di esecuzione per il file extcap_ot.py:
        ls -l extcap_ot.py
        
      2. Se non hai l'autorizzazione di esecuzione (x), 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 viene chiuso con un errore Python, verifica che la versione di Python sia 3.x:
        py -3 --version
        

Wireshark consente solo all'utente root di acquisire i pacchetti

Durante l'installazione di Wireshark su Ubuntu all'utente verrà chiesto di scegliere una delle seguenti opzioni:

  1. Creare il gruppo di utenti wireshark e consentire a tutti i membri di tale gruppo di acquisire i pacchetti.
  2. Consenti all'utente di root di acquisire pacchetti solo.

Sconsigliamo vivamente di utilizzare Wireshark come utente root. Se hai scelto questa opzione, modifica l'impostazione:

sudo dpkg-reconfigure wireshark-common

Se Wireshark è stato configurato per limitare l'acquisizione ai membri del gruppo wireshark, potresti dover aggiungere al gruppo l'utente corretto:

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

Questo è un problema noto per alcune versioni precedenti di Wireshark. Assicurati di utilizzare Wireshark 3.0.6 o versioni successive.