Przechwytywanie pakietów za pomocą ExtCap

Wyświetl źródło na GitHubie

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:

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:

OT Sniffer Wireshark Extcap Capture

  1. Ustaw Kanał na odpowiednią wartość.
  2. 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.
  3. 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ł).
  4. Kliknij Start.

Opcje OT Sniffer Wireshark Extcap

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)

Pakiety OT Sniffer Wireshark Extcap

Rozwiązywanie problemów

Sniffer OpenThread nie jest wymieniony jako interfejs Wireshark.

  1. 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.
  2. Sprawdź, czy sprzęt jest określony na USB i czy sterowniki zostały załadowane.
  3. Sprawdź, czy do sprzęt.
  4. Sprawdź, czy skrypt Pythona znajdujący się w ścieżce extcap jest wykonywalny.
    • W systemach OS X i Linux:
      1. Sprawdź, czy dla extcap_ot.py jest uprawnienie do uruchamiania plik:
        ls -l extcap_ot.py
        
      2. Jeśli brakuje uprawnienia do wykonywania (x), zmień uprawnienia:
        chmod +x extcap_ot.py
        
      3. Sprawdź, czy interfejs jest widoczny na liście:
        extcap_ot.py --extcap-interfaces
        
    • W systemie Windows:
      1. Sprawdź, czy interfejs jest widoczny na liście:
        extcap_ot.bat --extcap-interfaces
        
      2. Jeśli to wyjście zostanie zamknięte z powodu błędu Pythona, sprawdź, czy wersja Pythona to 3.x:
        py -3 --version
        

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:

  1. Utwórz grupę użytkowników wireshark i zezwól wszystkim jej członkom na przechwytywania pakietów.
  2. 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.