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:
- Zapoznaj się z wymaganiami dotyczącymi wychwycenia paczek.
- Instalowanie i konfigurowanie Wireshark
- Instalowanie Pyspinel i zależności z wykorzystaniem rozszerzenia 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 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:
- Ustaw Kanał na odpowiednią wartość.
- 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.
- 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ł).
- Kliknij Start.
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)
Rozwiązywanie problemów
Sniffer OpenThread nie jest wymieniony jako interfejs Wireshark
- 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.
- Sprawdź, czy sprzęt jest wymieniany przez USB i czy sterowniki są podłączone.
- Sprawdź, czy do oprogramowania zostało podłączone prawidłowe oprogramowanie (NCP lub RCP).
- Sprawdź, czy skrypt Pythona znajdujący się w ścieżce rozszerzenia wykonywalnego jest wykonywalny.
- W systemach OS X i Linux:
- Sprawdź, czy plik
extcap_ot.py
zawiera uprawnienie do wykonania:ls -l extcap_ot.py
- Jeśli brakuje uprawnienia wykonania (x), zmodyfikuj te uprawnienia:
chmod +x extcap_ot.py
- Sprawdź, czy interfejs znajduje się na liście:
extcap_ot.py --extcap-interfaces
- Sprawdź, czy plik
- W systemie Windows:
- Sprawdź, czy interfejs znajduje się na liście:
extcap_ot.bat --extcap-interfaces
- Jeśli ten kod zakończy się wynikiem błędu Pythona, sprawdź, czy wersja Pythona to 3.x:
py -3 --version
- Sprawdź, czy interfejs znajduje się na liście:
- W systemach OS X i Linux:
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:
- Utwórz grupę użytkowników
wireshark
i zezwól wszystkim jej członkom na przechwytywanie pakietów. - 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.