Ten przewodnik opisuje, jak skonfigurować rozszerzenie extcap dla programu Wireshark, aby mogło wykrywać pakiety z Sieć Thread.
Aby używać Pyspinel do przechwytywania pakietów bez rozszerzenia extcap, zapoznaj się z sekcją Przechwytywanie pakietów z Pyspinel.
Konfigurowanie środowiska sniffera
Zanim zaczniesz, wykonaj te czynności:
- Zapoznaj się z wymaganiami dotyczącymi wykrywania pakietów.
- Zainstaluj i skonfiguruj program Wireshark.
- Zainstaluj Pyspinel i zależności z rozszerzeniem extcap.
Weryfikacja
Ten przewodnik został zweryfikowany przez Zolertia Firefly (Texas Instruments CC2538 SOC) w tych systemach hosta:
- Debian 4.19.37 – Wireshark 3.0.4
- macOS Mojave 10.14.6 – Wireshark 3.0.5
- 64-bitowy Windows 10 w wersji 17134 – Wireshark 3.0.6
Zbuduj i uruchom sniffera
Instrukcje kompilacji i flashowania różnią się w zależności od platformy.
Instrukcje dotyczące tworzenia i flashowania modelu CC2538 znajdziesz w przykładzie CC2538 README w GitHubie.
Ogólne instrukcje kompilacji znajdziesz w artykule How to Build OpenThread (Jak utworzyć OpenThread).
Użyj sniffera
Ekran zrzutu ekranu programu Wireshark jest wyświetlany przy pierwszym uruchomieniu programu. it powinien wyświetlić listę interfejsów sprzętowych podłączonych do sniffera OpenThread.
Przechwytywanie z jednego interfejsu
Jeśli po raz pierwszy używasz interfejsu, kliknij przycisk Opcje. po lewej stronie interfejsu:
- Ustaw Kanał na odpowiednią wartość.
- Sprawdź, czy informacje o kanale są dostępne w standardzie IEEE 802.15.4 TAP. zawarte w danych wyjściowych pcap i mogą być wyświetlane w GUI programu Wireshark.
- Zaznacz pole Zapisuj parametry po rozpoczęciu przechwytywania, aby mieć pewność, że zostaną są zapisywane po rozpoczęciu przechwytywania, aby uniknąć konieczności ustaw je ponownie przy następnym użyciu interfejsu (chyba że musisz zmień kanał).
- Kliknij Start.
Jeśli parametry są już zapisane, rozpocznij sniffing, wybierając sprzęt i klikając ikonę Wireshark w lewym górnym rogu.
Rejestrowanie z różnych interfejsów
Zaznacz wszystkie interfejsy sprzętowe wymienione na ekranie przechwytywania i kliknij Ikona Wireshark w lewym górnym rogu.
Użyj tych pól do identyfikacji poszczególnych snifferów podczas nagrywania interfejsy:
- Interface ID (frame.interface_id) – identyfikator interfejsu używany przez Wireshark do identyfikacji interfejsu przechwytywania
- Nazwa interfejsu (frame.interface_name) – nazwa interfejsu używana przez Program Wireshark do zidentyfikowania interfejsu przechwytywania obrazu
- Kanał (wpan-tap.ch_num) – kanał przechwytywania IEEE 802.15.4 (zakres: 11–26)
Rozwiązywanie problemów
Sniffer OpenThread nie jest wymieniony jako interfejs Wireshark.
- Jeśli masz zainstalowanych kilka tłumaczy języka Python, upewnij się, że Python 3 jest używany przez skrypt extcap. Pyspinel nie obsługuje Pythona 2.
- Sprawdź, czy sprzęt jest określony na USB i czy sterowniki zostały załadowane.
- Sprawdź, czy do sprzęt.
- Sprawdź, czy skrypt Pythona znajdujący się w ścieżce extcap jest wykonywalny.
- W systemach OS X i Linux:
- Sprawdź, czy dla
extcap_ot.py
jest uprawnienie do uruchamiania plik:ls -l extcap_ot.py
- Jeśli brakuje uprawnienia do wykonywania (x), zmień uprawnienia:
chmod +x extcap_ot.py
- Sprawdź, czy interfejs jest widoczny na liście:
extcap_ot.py --extcap-interfaces
- Sprawdź, czy dla
- W systemie Windows:
- Sprawdź, czy interfejs jest widoczny na liście:
extcap_ot.bat --extcap-interfaces
- Jeśli to wyjście zostanie zamknięte z powodu błędu Pythona, sprawdź, czy wersja Pythona to 3.x:
py -3 --version
- Sprawdź, czy interfejs jest widoczny na liście:
- W systemach OS X i Linux:
Wireshark zezwala użytkownikowi root na przechwytywanie pakietów
Podczas instalacji programu Wireshark w systemie Ubuntu użytkownik zostanie poproszony o wybranie jednego z nich z następujących opcji:
- Utwórz grupę użytkowników
wireshark
i zezwól wszystkim jej członkom na przechwytywania pakietów. - Zezwalaj tylko użytkownikowi
root
na przechwytywanie pakietów.
Zdecydowanie odradzamy używanie programu Wireshark jako użytkownika root
. Jeśli wybierzesz
wybierz tę opcję, zmień ustawienie:
sudo dpkg-reconfigure wireshark-common
Jeśli w programie Wireshark skonfigurowano ograniczenie przechwytywania do członków
wireshark
, być może trzeba będzie dodać do grupy odpowiedniego użytkownika:
sudo usermod -a -G wireshark user
Dodaj też odpowiedniego użytkownika do grupy dialout
:
sudo usermod -a -G dialout user
Zamknij program Wireshark i uruchom go ponownie, aby zastosować ustawienia nowej grupy użytkowników.
Błąd formatu Wireshark podczas nagrywania przy użyciu różnych interfejsów USB w systemie Windows
To znany problem w starszych wersjach Wiresharka. Upewnij się, że używasz Wireshark 3.0.6 lub później.