Przechwytywanie pakietów za pomocą ExtCap

Wyświetl źródło na GitHubie

Ten przewodnik opisuje, jak skonfigurować rozszerzenie extcap dla Wireshark, aby pobierać pakiety z sieci sieciowej.

Aby używać Pyspinel do wychwytywania pakietów bez rozszerzenia, zapoznaj się z sekcją Wychwytywanie pakietów z użyciem Pyspinel.

Skonfiguruj środowisko 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 system Windows 10 w wersji 17134 – Wireshark 3.0.6

Zbudowanie i snichowanie sniffera

Instrukcje tworzenia i błyskawiania reklam różnią się w zależności od platformy.

Instrukcje tworzenia i błyskawiania CC2538 znajdziesz w przykładzie CC2538 w usłudze GitHub.

Ogólne instrukcje tworzenia znajdziesz w artykule Jak utworzyć OpenThread.

Użyj sniffera

Po uruchomieniu programu Wireshark wyświetlany jest ekran przechwytywania ekranu. Powinna wyświetlić się lista interfejsów sprzętowych połączonych ze snifferem OpenThread.

Nagrywanie za pomocą jednego interfejsu

Jeśli korzystasz z interfejsu po raz pierwszy, kliknij przycisk Opcje po jego lewej stronie:

Nocny sniffer wireshark

  1. Ustaw Kanał na odpowiednią wartość.
  2. Zaznacz IEEE 802.15.4 TAP, aby upewnić się, że informacje o kanale są zawarte w pliku wyjściowym pcap i mogą być wyświetlane w interfejsie Wireshark GUI.
  3. Zaznacz Zapisz parametry przy rozpoczęciu przechwytywania, aby mieć pewność, że te parametry zostaną zapisane po rozpoczęciu przechwytywania, aby uniknąć ich ponownego ustawienia przy kolejnym użyciu interfejsu (chyba że musisz zmienić kanał).
  4. Kliknij Start.

Opcje wyrzutni sniffera OT

Jeśli parametry są już zapisane, rozpocznij wąchanie, wybierając interfejs sprzętowy i klikając ikonę Wireshark w lewym górnym rogu.

Przechwytywanie zawartości wielu interfejsów

Wybierz wszystkie interfejsy sprzętowe wymienione na ekranie przechwytywania i kliknij ikonę Wireshark w lewym górnym rogu.

Korzystając z tych pól, możesz identyfikować poszczególne snifty podczas przechwytywania za pomocą wielu interfejsów:

  • Interface ID (frame.interface_id) – identyfikator interfejsu używany przez Wireshark do identyfikowania interfejsu przechwytywania ekranu
  • Nazwa interfejsu (frame.interface_name) – nazwa interfejsu używana przez Wireshark do identyfikowania interfejsu przechwytywania.
  • Kanał (wpan-tap.ch_num) – kanał przechwytywania ruchu IEEE 802.15.4 (zakres: 11–26)

Pakiety wytłaczającego Wireshark OT

Rozwiązywanie problemów

Sniffer OpenThread nie jest wymieniony jako interfejs Wireshark

  1. Jeśli masz zainstalowanych wiele interpreterów Pythona, upewnij się, że skrypt extcap jest używany przez interpretera Pythona 3. Pyspinel nie obsługuje Pythona 2.
  2. Sprawdź, czy sprzęt jest wymieniany przez USB i czy sterowniki są podłączone.
  3. Sprawdź, czy do oprogramowania zostało podłączone prawidłowe oprogramowanie (NCP lub RCP).
  4. Sprawdź, czy skrypt Pythona znajdujący się w ścieżce rozszerzenia wykonywalnego jest wykonywalny.
    • W systemach OS X i Linux:
      1. Sprawdź, czy plik extcap_ot.py zawiera uprawnienie do wykonania:
        ls -l extcap_ot.py
        
      2. Jeśli brakuje uprawnienia wykonania (x), zmodyfikuj te uprawnienia:
        chmod +x extcap_ot.py
        
      3. Sprawdź, czy interfejs znajduje się na liście:
        extcap_ot.py --extcap-interfaces
        
    • W systemie Windows:
      1. Sprawdź, czy interfejs znajduje się na liście:
        extcap_ot.bat --extcap-interfaces
        
      2. Jeśli ten kod zakończy się wynikiem błędu Pythona, sprawdź, czy wersja Pythona to 3.x:
        py -3 --version
        

Wireshark pozwala użytkownikowi root tylko na przechwytywanie pakietów

Podczas instalacji Wireshark w systemie Ubuntu użytkownik jest proszony o wybranie jednej z tych opcji:

  1. Utwórz grupę użytkowników wireshark i zezwól wszystkim jej członkom na przechwytywanie pakietów.
  2. Zezwalaj tylko użytkownikowi root na przechwytywanie pakietów.

Zdecydowanie odradzamy używanie aplikacji Wireshark jako użytkownika root. W przypadku wybrania tej opcji zmień ustawienie:

sudo dpkg-reconfigure wireshark-common

Jeśli program Wireshark został skonfigurowany tak, aby przechwytywać tylko członków grupy wireshark, może być konieczne dodanie 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 i uruchom ponownie program Wireshark, aby zastosować nowe ustawienia grupy użytkowników.

Podczas formatowania na wielu interfejsach USB w systemie Windows wystąpił błąd formatu Wireshark

To znany problem dla niektórych starych wersji Wiresharka. Upewnij się, że używasz Wireshark w wersji 3.0.6 lub nowszej.