Wireshark to narzędzie typu open source, które może dekodować protokoły sieciowe w swoim stosie, takie jak IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Establishment), UDP i CoAP.
Narzędzie Pyspinel sniffer łączy się z urządzeniem Thread NCP lub RCP i przekształca je w sniffer pakietów typu promiscuous, generując strumień pcap (przechwytywanie pakietów), który można zapisać lub przekierować bezpośrednio do Wireshark.
Aby używać Wiresharka z Pyspinel, zapoznaj się z zaleceniami dotyczącymi instalacji podanymi w następnym kroku. Musisz też skonfigurować Wiresharka, aby poprawnie wyświetlał pakiety Thread i otrzymywał pomiary RSSI.
Instalowanie Wireshark
Linux
Aby pobrać i zainstalować Wireshark, otwórz terminal i uruchom te polecenia:
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark
Zalecamy uruchomienie Wiresharka jako użytkownik inny niż root
. Aby to zrobić, ponownie skonfiguruj pakiet:
sudo dpkg-reconfigure wireshark-common
Gdy pojawi się okno z pytaniem „Czy użytkownicy inni niż superużytkownicy mają mieć możliwość przechwytywania pakietów?”, wybierz Tak, a potem dodaj użytkownika wireshark
i zaktualizuj uprawnienia do pliku:
sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap
macOS i Windows
Pobierz i zainstaluj Wireshark Aby zoptymalizować bezpieczeństwo swojego systemu operacyjnego, zapoznaj się z artykułem Wireshark – informacje o uprawnieniach do przechwytywania danych na poszczególnych platformach.
Konfigurowanie protokołów Wireshark
Aby skonfigurować protokoły, w Wireshark kliknij Ustawienia… i rozwiń sekcję Protokoły.
6LoWPAN
Na liście protokołów wybierz 6LoWPAN i sprawdź lub zmień te ustawienia:
- Odznacz pole Utwórz identyfikator zgodnie z normą RFC 4944.
- Zaktualizuj Context 0, podając prefiks Mesh Local dla docelowej sieci Thread.
Wireshark używa konfiguracji kontekstu do analizowania skompresowanego adresu IPv6 i prawidłowego wyświetlania adresów źródła i miejsca docelowego IPv6.
Aby wyświetlać adresy innych prefiksów w sieci mesh skonfigurowanych na bramce, zaktualizuj inne identyfikatory kontekstu za pomocą tych prefiksów.
Aby uzyskać identyfikator kontekstu dla określonego prefiksu w sieci mesh, wyświetl pole TLV danych sieci Thread w dowolnym komunikacie z danymi MLE. Na przykład:
Context 1: fd00:7d03:7d03:7d03::/64
CoAP
Na liście protokołów wybierz CoAP i ustaw Port UDP COAP na 61631. Dzięki temu będą wyświetlane wiadomości TMF (np. prośby o adres).
IEEE 802.15.4
Na liście protokołów wybierz IEEE 802.15.4 i sprawdź lub zmień te ustawienia:
- Ustaw 802.15.4 Ethertype (w systemie szesnastkowym) na „0x809a”.
- Ustaw pakiet zabezpieczeń na „Szyfrowanie AES-128, ochrona integralności 32-bitowej”.
Kliknij przycisk Edytuj… obok opcji Klucze deszyfrowania, w której możesz dodać klucz główny sieci Thread do deszyfrowania pakietów.
- Kliknij +, aby dodać klucz odszyfrowywania.
- Wpisz klucz główny sieci Thread w kolumnie Klucz deszyfrowania.
- Jako indeks klucza odszyfrowywania wpisz „1”.
W polu listy Kluczowy ciąg haszowany wybierz Hash wątku.
Aby zapisać klucz odszyfrowywania, kliknij OK.
Wątek
Na liście protokołów wybierz Thread (Wątek) i sprawdź lub zmień te ustawienia:
- W polu Liczbnik sekwencji wątku wpisz „00000000”.
- Odznacz pole Użyj identyfikatora PAN jako pierwszych 2 oktetów klucza głównego.
- Zaznacz pole Automatycznie pobieraj licznik sekwencji wątku.
Aby zapisać zmiany w protokole, kliknij przycisk OK.
Niektóry ruch Thread może być analizowany jako protokół ZigBee. Aby poprawnie wyświetlić te 2 protokoły, w Wiresharku edytuj włączone protokoły:
- W Wireshark kliknij kolejno Analizuj i Włączone protokoły.
Odznacz te protokoły:
- LwMesh
- ZigBee
- ZigBee Green Power
Konfigurowanie Wireshark RSSI
Aby wyświetlić RSSI w Wireshark:
- Kliknij Preferencje…, rozwiń sekcję Protokoły i kliknij IEEE 802.15.4.
Ustaw Format FCS:
- Jeśli TAP IEEE 802.15.4 jest wyłączony: metadane TI CC24xx.
- Jeśli włączono TAP IEEE 802.15.4: ITU-T CRC-16. Jeśli korzystasz z przechwytywania pakietów na Nordic Semiconductor nRF52840DK, zapoznaj się z flagą
--tap
, aby uzyskać więcej informacji.
Kliknij OK, aby zapisać zmiany i wrócić do menu Ustawienia.
W sekcji Ustawienia kliknij kolejno Wygląd i Kolumny.
Dodawanie nowego wpisu:
- Tytuł: RSSI
- Typ: niestandardowy
- Pola: wpan.rssi