Wireshark to narzędzie typu open source służące do dekodowania protokołów sieciowych w Thread takich jak IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Inappropriatement), UDP, i CoAP.
Narzędzie Pyspinel Sniffer łączy się z urządzeniem Thread NCP lub RCP i przekształca je. w nasłuchującego pakietów i generując w ten sposób strumień pcap (przechwytywania pakietów) w celu zapisać lub przesłać bezpośrednio do Wiresharka.
Aby używać programu Wireshark z Pyspinel, zapoznaj się z zaleceniami dotyczącymi instalacji w kolejny krok. Musisz też skonfigurować program Wireshark, aby prawidłowo wyświetlać pakiety Thread i otrzymywać pomiary RSSI.
Zainstaluj Wireshark
Linux
Otwórz terminal i uruchom następujące polecenia, aby pobrać i zainstalować Wireshark:
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark
Zalecamy uruchamianie programu Wireshark jako użytkownik bez konta root
. Aby to zrobić, ponownie skonfiguruj pakiet:
sudo dpkg-reconfigure wireshark-common
Gdy pojawi się okno z pytaniem „Czy użytkownicy, którzy nie są superużytkownikami, mogą przechwytywać pakiety?”,
wybierz Tak, a następnie dodaj użytkownika wireshark
i zaktualizuj uprawnienia do plików:
sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap
macOS i Windows
Pobierz i zainstaluj Wireshark. Optymalizowanie bezpieczeństwa systemu, można znaleźć w sekcji Wireshark — informacje specyficzne dla platformy dotyczące uprawnień do przechwytywania.
Konfiguracja protokołów Wireshark
Aby skonfigurować protokoły, wybierz Preferences... (Preferencje) w programie Wireshark i rozwiń Protocols (Protokoły).
6LoWPAN
Wybierz 6LoWPAN z listy protokołów i sprawdź lub zmień te ustawienia:
- Odznacz Wyprowadź identyfikator zgodnie ze standardem RFC 4944.
- Zaktualizuj Kontekst 0 o lokalny prefiks sieci typu mesh dla wątku docelowego
Program Wireshark korzysta z konfiguracji kontekstu do analizowania skompresowanego adresu IPv6 i prawidłowo wyświetlać adresy źródłowe i docelowe IPv6.
Aby wyświetlić adresy innych prefiksów w sieci typu mesh skonfigurowanych w bramie: i dodaj te prefiksy do innych identyfikatorów kontekstu.
Aby uzyskać identyfikator kontekstu dla określonego prefiksu on-mesh, wyświetl dane sieciowe Thread TLV w dowolnym komunikacie odpowiedzi MLE Data. Na przykład:
Context 1: fd00:7d03:7d03:7d03::/64
CoAP
Z listy protokołów wybierz CoAP i ustaw Port UDP CoAP. pod numer 61631. Zapewni to wyświetlanie komunikatów TMF (np. próśb o adres).
IEEE 802.15.4
Wybierz IEEE 802.15.4 z listy protokołów i sprawdź lub zmień następujące ustawienia:
- Ustaw 802.15.4 Ethertype (w formacie szesnastkowym) na „0x809a”.
- Ustaw Security Suite na „AES-128 Encryption, 32-bit Integrity” Ochrona”.
Kliknij przycisk Edytuj... obok opcji Klucze odszyfrowywania, gdzie znajdziesz przycisk dodać główny klucz sieci Thread do odszyfrowywania pakietów.
- Kliknij +, aby dodać klucz odszyfrowywania.
- Wpisz główny klucz sieci Thread w kolumnie Klucz odszyfrowywania.
- Wpisz „1” jako indeks kluczy odszyfrowywania.
Z listy kolumn Identyfikator klucza wybierz Identyfikator wątku.
Kliknij OK, aby zapisać klucz odszyfrowywania.
Wątek
Wybierz Wątek z listy protokołów i sprawdź lub zmień te ustawienia:
- Wpisz „00000000” dla licznika sekwencji wątków.
- Odznacz Użyj identyfikatora PAN jako 2 pierwszych oktetów klucza głównego.
- Zaznacz Automatycznie pobieraj licznik sekwencji Thread.
Kliknij przycisk OK, aby zapisać zmiany protokołu.
Część ruchu Thread może być analizowana jako protokół ZigBee. Aby prawidłowo wyświetlić oba protokoły, edytować włączone protokoły w programie Wireshark:
- W programie Wireshark przejdź do obszaru Analyze (Analiza), a następnie kliknij opcję Enabled Protocols (Włączone protokoły).
Odznacz te protokoły:
- LwMesh
- ZigBee
- ZigBee Green Power
Konfigurowanie RSSI w programie Wireshark
Aby wyświetlić RSSI w programie Wireshark:
- Wybierz Preferences... (Preferencje) i rozwiń sekcję Protocols (Protokoły), a następnie kliknij IEEE 802.15.4
Ustaw Format FCS:
- Jeśli IEEE 802.15.4 TAP jest wyłączony: metadane TI CC24xx.
- Jeśli protokół IEEE 802.15.4 TAP jest włączony: ITU-T CRC-16. Jeśli obserwujesz
przewodnik po wędzeniu pakietów do Nordic Semiconductor nRF52840,
DK, więcej informacji znajdziesz w flagi
--tap
.
Kliknij OK, aby zapisać ustawienia i wrócić do menu Preferencje.
W Ustawieniach wybierz Wygląd, a następnie Kolumny.
Dodaj nowy wpis:
- Tytuł: RSSI
- Rodzaj: niestandardowy
- Pola: wpan.rssi