Wireshark adalah alat open source yang dapat mendekode protokol jaringan di stack Thread, seperti IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Establishment), UDP, dan CoAP.
Alat sniffer Pyspinel terhubung ke perangkat Thread NCP atau RCP dan mengonversinya menjadi sniffer paket promiscuous, yang menghasilkan aliran pcap (packet capture) untuk disimpan atau disalurkan langsung ke Wireshark.
Untuk menggunakan Wireshark dengan Pyspinel, lihat rekomendasi penginstalan di langkah berikutnya. Anda juga perlu mengonfigurasi Wireshark untuk menampilkan paket Thread dengan benar dan menerima pengukuran RSSI.
Menginstal Wireshark
Linux
Buka terminal dan jalankan perintah berikut untuk mendownload dan menginstal Wireshark:
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark
Sebaiknya jalankan Wireshark sebagai pengguna non-root
. Untuk melakukannya, konfigurasi ulang paket:
sudo dpkg-reconfigure wireshark-common
Saat Anda mendapatkan dialog yang menanyakan "Should non-superusers be able to capture packets?",
pilih Yes, lalu tambahkan pengguna wireshark
dan perbarui izin file:
sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap
macOS dan Windows
Download dan instal Wireshark. Untuk mengoptimalkan keamanan sistem operasi, lihat Wireshark — informasi khusus platform tentang hak istimewa pengambilan.
Mengonfigurasi Protokol Wireshark
Untuk mengonfigurasi protokol, pilih Preferences... di Wireshark dan luaskan bagian Protocols.
6LoWPAN
Pilih 6LoWPAN dari daftar protokol dan verifikasi atau ubah setelan berikut:
- Hapus centang pada Derive ID according to RFC 4944.
- Perbarui Context 0 dengan Prefix Lokal Mesh untuk jaringan Thread target.
Wireshark menggunakan konfigurasi konteks untuk mengurai alamat IPv6 yang dikompresi dan menampilkan alamat sumber dan tujuan IPv6 dengan benar.
Untuk menampilkan alamat untuk awalan on-mesh lainnya yang dikonfigurasi di gateway, perbarui ID Konteks lainnya dengan awalan tersebut.
Untuk mendapatkan ID Konteks untuk awalan on-mesh tertentu, lihat TLV Data Jaringan Thread dalam pesan respons Data MLE. Contoh:
Context 1: fd00:7d03:7d03:7d03::/64
CoAP
Pilih CoAP dari daftar protokol dan tetapkan CoAP UDP Port ke 61631. Tindakan ini memastikan pesan TMF (seperti permintaan alamat) ditampilkan.
IEEE 802.15.4
Pilih IEEE 802.15.4 dari daftar protokol dan verifikasi atau ubah setelan berikut:
- Tetapkan 802.15.4 Ethertype (dalam hex) ke "0x809a".
- Tetapkan Security Suite ke "AES-128 Encryption, 32-bit Integrity Protection".
Klik tombol Edit... di samping Kunci Dekripsi, tempat Anda menambahkan Kunci Master jaringan Thread untuk dekripsi paket.
- Klik + untuk menambahkan Kunci dekripsi.
- Masukkan Kunci Master jaringan Thread ke kolom Kunci dekripsi.
- Masukkan "1" sebagai Indeks kunci dekripsi.
Pilih Thread hash dari kotak daftar kolom Key hash.
Klik OK untuk menyimpan kunci dekripsi.
Rangkaian pesan
Pilih Thread dari daftar protokol dan verifikasi atau ubah setelan berikut:
- Masukkan "00000000" untuk Penghitung urutan thread.
- Hapus centang Gunakan ID PAN sebagai dua octet pertama kunci master.
- Centang Automatically acquire Thread sequence counter.
Klik tombol OK untuk menyimpan perubahan protokol.
Beberapa traffic Thread mungkin dianalisis sebagai protokol ZigBee. Untuk menampilkan kedua protokol ini dengan benar, edit protokol yang diaktifkan di Wireshark:
- Di Wireshark, buka Analyze, lalu klik Enabled Protocols.
Hapus centang pada protokol berikut:
- LwMesh
- ZigBee
- ZigBee Green Power
Mengonfigurasi RSSI Wireshark
Untuk menampilkan RSSI di Wireshark:
- Pilih Preferences... dan luaskan bagian Protocols, lalu klik IEEE 802.15.4.
Tetapkan FCS Format:
- Jika TAP IEEE 802.15.4 dinonaktifkan: Metadata TI CC24xx.
- Jika TAP IEEE 802.15.4 diaktifkan: ITU-T CRC-16. Jika Anda mengikuti
panduan Packet Sniffing untuk Nordic Semiconductor nRF52840
DK, lihat flag
--tap
untuk mengetahui informasi selengkapnya.
Klik OK untuk menyimpan dan kembali ke menu Preferences.
Dari Preferensi, pilih Tampilan, lalu Kolom.
Tambahkan entri baru:
- Judul: RSSI
- Jenis: Kustom
- Kolom: wpan.rssi