Paket-Sniffing mit Extcap

<ph type="x-smartling-placeholder"></ph> Quelle auf GitHub ansehen

In diesem Leitfaden erfahren Sie, wie Sie extcap für Wireshark konfigurieren, um Pakete von einem Thread-Netzwerk.

Wenn Sie Pyspinel für das Sniffing ohne extcap verwenden möchten, lesen Sie Paket-Sniffing mit Pyspinel

Sniffer-Umgebung einrichten

Führen Sie zuerst die folgenden Schritte aus:

Überprüfung

Dieser Leitfaden wurde mit der Zolertia Firefly (Texas Instruments CC2538) verifiziert. SoC) auf den folgenden Hostsystemen:

  • Debian 4.19.37 – Wireshark 3.0.4
  • macOS Mojave 10.14.6 – Wireshark 3.0.5
  • 64-Bit-Windows 10-Version 17134 – Wireshark 3.0.6

Sniffer erstellen und blinken

Build- und Flash-Anweisungen variieren je nach Plattform.

Eine Anleitung zum Erstellen und Flashen des CC2538 finden Sie im CC2538-Beispiel README-Datei auf GitHub.

Allgemeine Build-Anweisungen finden Sie unter So erstellen Sie OpenThread.

Schnüffler verwenden

Der Wireshark-Erfassungsbildschirm wird beim ersten Start von Wireshark angezeigt. Es sollte die mit einem OpenThread-Sniffer verbundenen Hardwareschnittstellen auflisten.

Erfassung über eine einzige Benutzeroberfläche

Wenn Sie eine Benutzeroberfläche zum ersten Mal verwenden, klicken Sie auf die Schaltfläche Optionen. links neben der Benutzeroberfläche:

OT Sniffer Wireshark Extcap Capture

  1. Legen Sie für Channel den gewünschten Wert fest.
  2. Prüfen Sie IEEE 802.15.4 TAP, um sicherzustellen, dass die Kanalinformationen korrekt sind. ist in der pcap-Ausgabe enthalten und kann auf der GUI von Wireshark angezeigt werden.
  3. Klicken Sie auf das Kästchen Save parameters on record start (Parameter zu Beginn der Erfassung speichern), um sicherzustellen, dass diese werden nach dem Start der Erfassung gespeichert, um wenn Sie die Benutzeroberfläche das nächste Mal verwenden (es sei denn, Sie müssen Kanal ändern).
  4. Klicken Sie auf Start.

Optionen für OT Sniffer Wireshark Extcap

Wenn deine Parameter bereits gespeichert sind, wähle die passende Hardware aus und klicken Sie oben links auf das Wireshark-Symbol.

Erfassung über mehrere Benutzeroberflächen

Wählen Sie im Aufnahmebildschirm alle Hardwareschnittstellen aus und klicken Sie auf das Symbol Wireshark-Symbol oben links.

Verwenden Sie diese Felder, um einzelne Sniffer zu identifizieren, wenn Sie Daten von mehreren Schnittstellen:

  • Schnittstellen-ID (frame.interface_id) – Von Wireshark verwendete Schnittstellenkennung eine Erfassungsschnittstelle zu identifizieren,
  • Schnittstellenname (frame.interface_name) – Schnittstellenname, der von Wireshark zur Identifizierung einer Erfassungsschnittstelle
  • Kanal (wpan-tap.ch_num) – Aufnahmekanal gemäß IEEE 802.15.4 (Bereich: 11–26)

OT Sniffer Wireshark Extcap-Pakete

Fehlerbehebung

Der OpenThread-Sniffer wird nicht als Wireshark-Schnittstelle aufgeführt.

  1. Wenn Sie mehrere Python-Interpreter installiert haben, muss Python 3 interpreter vom Skript extcap verwendet. Python 2 wird von Pyspinel nicht unterstützt.
  2. Prüfen Sie, ob die Hardware als USB-Gerät aufgelistet ist und die Treiber geladen sind.
  3. Prüfen Sie, ob die richtige Firmware (NCP oder RCP) auf den Hardware.
  4. Überprüfen Sie, ob das Python-Skript im Pfad extcap ausführbar ist.
    • Für OS X und Linux: <ph type="x-smartling-placeholder">
        </ph>
      1. Prüfen, ob die Ausführungsberechtigung für extcap_ot.py vorhanden ist Datei:
        ls -l extcap_ot.py
        
      2. Wenn die Ausführungsberechtigung (x) fehlt, ändern Sie die Berechtigungen:
        chmod +x extcap_ot.py
        
      3. Prüfen Sie, ob die Schnittstelle aufgeführt ist:
        extcap_ot.py --extcap-interfaces
        
    • Für Windows
      1. Prüfen Sie, ob die Schnittstelle aufgeführt ist:
        extcap_ot.bat --extcap-interfaces
        
      2. Wenn der Vorgang mit einem Python-Fehler beendet wird, überprüfen Sie, ob die Python-Version 3.x ist:
        py -3 --version
        

Bei Wireshark können nur Root-Nutzer Pakete erfassen.

Während der Wireshark-Installation unter Ubuntu wird der Nutzer aufgefordert, eins auszuwählen. der folgenden Optionen:

  1. Erstellen Sie die Nutzergruppe wireshark und erlauben Sie allen Mitgliedern dieser Gruppe, Pakete zu erfassen.
  2. Erlauben Sie nur dem root-Nutzer, Pakete zu erfassen.

Von der Verwendung von Wireshark als root-Nutzer wird dringend abgeraten. Wenn Sie ändern Sie die Einstellung:

sudo dpkg-reconfigure wireshark-common

Wenn Wireshark so konfiguriert wurde, dass die Erfassung auf Mitglieder des wireshark-Gruppe haben, müssen Sie möglicherweise den richtigen Nutzer zur Gruppe hinzufügen:

sudo usermod -a -G wireshark user

Fügen Sie der Gruppe dialout außerdem den richtigen Nutzer hinzu:

sudo usermod -a -G dialout user

Schließen Sie Wireshark und starten Sie ihn neu, um die neuen Einstellungen für Nutzergruppen zu übernehmen.

Wireshark-Formatfehler beim Aufzeichnen auf mehreren USB-Schnittstellen unter Windows

Dies ist ein bekanntes Problem. für einige alte Wireshark-Versionen. Stellen Sie sicher, dass Sie Wireshark 3.0.6 oder .