In diesem Leitfaden erfahren Sie, wie Sie extcap für Wireshark konfigurieren, um Pakete aus einem Thread-Netzwerk zu sniffen.
Informationen zur Verwendung von Pyspinel für das Paket-Sniffen ohne extcap finden Sie unter Paket-Sniffen mit Pyspinel.
Sniffer-Umgebung einrichten
Führen Sie zuerst die folgenden Schritte aus:
- Lesen Sie die Anforderungen für das Paket-Sniffen.
- Wireshark installieren und konfigurieren
- Installieren Sie Pyspinel und die Abhängigkeiten mit extcap.
Überprüfung
Diese Anleitung wurde mit dem Zolertia Firefly (Texas Instruments CC2538 SoC) auf den folgenden Hostsystemen geprüft:
- 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 flashen
Die Anleitung zum Erstellen und Flashen variiert je nach Plattform.
Eine Anleitung zum Erstellen und Flashen des CC2538 finden Sie in der README-Datei des CC2538-Beispiels auf GitHub.
Allgemeine Anleitungen zum Erstellen finden Sie unter OpenThread erstellen.
Sniffer verwenden
Der Wireshark-Aufnahmebildschirm wird angezeigt, wenn Wireshark zum ersten Mal gestartet wird. Es sollten Hardwareschnittstellen aufgeführt sein, die mit einem OpenThread-Sniffer verbunden sind.
Daten über eine einzige Oberfläche erfassen
Wenn Sie eine Benutzeroberfläche zum ersten Mal verwenden, klicken Sie links neben der Benutzeroberfläche auf die Schaltfläche Optionen:
- Legen Sie für Channel den gewünschten Wert fest.
- Aktivieren Sie IEEE 802.15.4 TAP, damit die Kanalinformationen in der pcap-Ausgabe enthalten sind und in der Wireshark-GUI angezeigt werden können.
- Aktivieren Sie die Option Parameter beim Start der Aufnahme speichern, damit diese Parameter nach Beginn der Aufnahme gespeichert werden. So müssen Sie sie nicht bei der nächsten Verwendung der Benutzeroberfläche neu festlegen, es sei denn, Sie müssen den Kanal wechseln.
- Klicken Sie auf Start.
Wenn Ihre Parameter bereits gespeichert sind, beginnen Sie mit dem Analysieren, indem Sie die Hardwareschnittstelle auswählen und links oben auf das Wireshark-Symbol klicken.
Daten von mehreren Schnittstellen erfassen
Wählen Sie alle Hardwareschnittstellen aus, die auf dem Erfassungsbildschirm aufgeführt sind, und klicken Sie oben links auf das Wireshark-Symbol.
Verwenden Sie diese Felder, um einzelne Sniffer zu identifizieren, wenn Sie von mehreren Schnittstellen erfassen:
- Schnittstellen-ID (frame.interface_id): Schnittstellen-ID, die von Wireshark zur Identifizierung einer Erfassungsschnittstelle verwendet wird
- Schnittstellenname (frame.interface_name): Schnittstellenname, der von Wireshark zur Identifizierung einer Erfassungsschnittstelle verwendet wird
- Channel (wpan-tap.ch_num): IEEE 802.15.4-Aufnahmekanal (Bereich: 11–26)
Fehlerbehebung
Der OpenThread-Sniffer wird nicht als Wireshark-Oberfläche aufgeführt
- Wenn mehrere Python-Interpreter installiert sind, muss das extcap-Script den Python 3-Interpreter verwenden. Pyspinel unterstützt Python 2 nicht.
- Prüfen Sie, ob die Hardware über USB aufgezählt und die Treiber geladen werden.
- Prüfen Sie, ob die richtige Firmware (NCP oder RCP) auf die Hardware geflasht wurde.
- Prüfen Sie, ob das Python-Script im extcap-Pfad ausführbar ist.
- Für OS X und Linux:
- Prüfen Sie, ob die Ausführungsberechtigung für die Datei
extcap_ot.py
vorhanden ist:ls -l extcap_ot.py
- Wenn die Berechtigung „Ausführen“ (x) fehlt, ändern Sie die Berechtigungen:
chmod +x extcap_ot.py
- Prüfen Sie, ob die Benutzeroberfläche aufgeführt ist:
extcap_ot.py --extcap-interfaces
- Prüfen Sie, ob die Ausführungsberechtigung für die Datei
- Für Windows
- Prüfen Sie, ob die Benutzeroberfläche aufgeführt ist:
extcap_ot.bat --extcap-interfaces
- Wenn dies mit einem Python-Fehler endet, prüfen Sie, ob die Python-Version 3.x ist:
py -3 --version
- Prüfen Sie, ob die Benutzeroberfläche aufgeführt ist:
- Für OS X und Linux:
Wireshark erlaubt nur dem Root-Nutzer, Pakete zu erfassen
Während der Installation von Wireshark unter Ubuntu wird der Nutzer aufgefordert, eine der folgenden Optionen auszuwählen:
- Erstellen Sie die Nutzergruppe
wireshark
und erlauben Sie allen Mitgliedern dieser Gruppe, Pakete zu erfassen. - Erlauben Sie nur dem Nutzer
root
, Pakete zu erfassen.
Die Verwendung von Wireshark als root
-Nutzer wird dringend abgeraten. Wenn Sie diese Option ausgewählt haben, ändern Sie die Einstellung:
sudo dpkg-reconfigure wireshark-common
Wenn Wireshark so konfiguriert wurde, dass die Erfassung auf Mitglieder der Gruppe wireshark
beschränkt ist, müssen Sie der Gruppe möglicherweise den richtigen Nutzer hinzufügen:
sudo usermod -a -G wireshark user
Fügen Sie der Gruppe dialout
auch den richtigen Nutzer hinzu:
sudo usermod -a -G dialout user
Schließen Sie Wireshark und starten Sie es neu, um die neuen Einstellungen für die Nutzergruppe anzuwenden.
Wireshark-Formatfehler beim Erfassen auf mehreren USB-Schnittstellen unter Windows
Dies ist ein bekanntes Problem bei einigen alten Wireshark-Versionen. Sie müssen Wireshark 3.0.6 oder höher verwenden.