Wireshark to narzędzie typu open source, które umożliwia dekodowanie protokołów sieciowych w stosie wątków, takich jak IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Instytucja), UDP i CoAP.
Narzędzie sniffera Pyspinel łączy się z urządzeniem NCP lub RCP wątków, a następnie konwertuje je na prosty snajfę pakietu, co umożliwia zapisanie strumienia lub przesłanie kodu PIP (przechwytywanie pakietów) do bezpośredniego zapisania w Wireshark.
Aby używać Wireshark z Pyspinel, postępuj zgodnie z zaleceniami instalacji w następnym kroku. Musisz też skonfigurować program Wireshark, aby prawidłowo wyświetlać pakiety wątków 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 użycie Wireshark jako użytkownika niekorzystającego z root
. Aby to zrobić, zmień konfigurację pakietu:
sudo dpkg-reconfigure wireshark-common
Gdy pojawi się okno z pytaniem, czy osoby inne niż superużytkownicy mogą przechwytywać pakiety?, wybierz Tak, a następnie dodaj użytkownika wireshark
i zaktualizuj jego uprawnienia do plików:
sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap
macOS i Windows
Pobierz i zainstaluj Wireshark. Aby zoptymalizować zabezpieczenia systemu operacyjnego, zapoznaj się z artykułem Wireshark – informacje o uprawnieniach do przechwytywania na poszczególnych platformach.
Skonfiguruj protokoły Wireshark
Aby skonfigurować protokoły, wybierz Preferencje... w Wireshark i rozwiń sekcję Protokoły.
6PRAWO
Wybierz 6LoWPAN z listy protokołów i zweryfikuj lub zmień te ustawienia:
- Odznacz Identyfikator pochodny zgodnie z RFC 4944.
- Zaktualizuj Kontekst 0 o lokalny prefiks sieci typu mesh dla docelowej sieci wątków.
Wireshark używa konfiguracji kontekstowych do analizowania skompresowanego adresu IPv6 i poprawnego wyświetlania adresów źródłowych i docelowych adresów IPv6.
Aby wyświetlić adresy innych prefiksów On- Mesh skonfigurowanych w bramie, zaktualizuj inne identyfikatory kontekstowe za pomocą tych prefiksów.
Aby uzyskać identyfikator kontekstu dla konkretnego prefiksu mesh, wyświetl TLV danych wątku w dowolnej odpowiedzi na odpowiedź danych MLE. Przykład:
Context 1: fd00:7d03:7d03:7d03::/64
organizacja sprzedażowa
Z listy protokołów wybierz CoAP, a w polu Port UDP CoAP ustaw wartość 61631. Dzięki temu wiadomości TMF (np. prośba o adres) będą wyświetlane.
IEEE 802.15.4
Wybierz IEEE 802.15.4 z listy protokołów i zweryfikuj lub zmień te ustawienia:
- Ustaw 802.15.4 Ethertype (w formacie szesnastkowym) na „0x809a”.
- Ustaw Pakiet zabezpieczeń na „Szyfrowanie AES-128, 32-bitowa ochrona integralności”.
Kliknij przycisk Edytuj obok opcji Klucze odszyfrowywania, gdzie dodasz klucz główny sieci wątku do odszyfrowywania pakietów.
- Kliknij +, aby dodać klucz odszyfrowywania.
- Wpisz klucz główny sieci wątku w kolumnie Klucz odszyfrowywania.
- Wpisz „1” jako indeks klucza odszyfrowywania.
W polu kolumny Hash klucza wybierz Hash wątku.
Kliknij OK, aby zapisać klucz odszyfrowywania.
Wątek
Wybierz Thread z listy protokołów i zweryfikuj lub zmień te ustawienia:
- W przypadku licznika sekwencji wątków wpisz „00000000”.
- Odznacz Użyj identyfikatora PAN jako pierwszych 2 oktetów klucza głównego.
- Zaznacz Automatycznie pobieraj licznik sekwencji wątków.
Kliknij przycisk OK, aby zapisać zmiany protokołu.
Ruch z wątku może być analizowany jako protokół ZigBee. Aby poprawnie wyświetlać te 2 protokoły, edytuj je w programie Wireshark:
- W Wireshark przejdź do sekcji Analizuj i kliknij Włączone protokoły.
Odznacz te protokoły:
- LwMesh
- ZigBee
- ZigBee Green Power
Skonfiguruj Wireshark RSSI
Aby wyświetlić RSSI w Wireshark:
- Wybierz Preferencje... i rozwiń sekcję Protokoły, a następnie kliknij IEEE 802.15.4.
Ustaw format FCS:
- Jeśli wyłączony IEEE 802.15.4 TAP: metadane TI CC24xx
- Jeśli włączono IEEE 802.15.4 TAP: ITU-T CRC-16. Więcej informacji znajdziesz w przewodniku Przechwytywanie paczek dotyczącym nordyckiego półprzewodnika nRF52840 DK. Więcej informacji znajdziesz w artykule na temat flagi
--tap
.
Kliknij OK, aby zapisać zmiany i wrócić do menu Preferencje.
W menu Preferencje wybierz Wygląd, a następnie Kolumny.
Dodaj nowy wpis:
- Tytuł: RSSI
- Typ: niestandardowy
- Pola: wpan.rssi