Wireshark เป็นเครื่องมือแบบโอเพนซอร์สที่สามารถถอดรหัสโปรโตคอลเครือข่ายในเทรดได้ สแต็ก เช่น IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Generatement), UDP และ CoAP
เครื่องมือดักจับ Pyspinel เชื่อมต่อกับอุปกรณ์ Thread NCP หรือ RCP แล้วแปลง เข้าไปในโปรแกรมดักจับแพ็กเก็ตที่มีความซับซ้อน สร้างสตรีม Pcap (การดักจับแพ็กเก็ต) เพื่อ จะถูกบันทึกหรือไปยัง Wireshark โดยตรง
หากต้องการใช้ Wireshark กับ Pyspinel ให้ดูคำแนะนำการติดตั้งใน ขั้นตอนถัดไป คุณจะต้องกำหนดค่า Wireshark ด้วยเพื่อให้แสดงแพ็กเก็ตเทรดอย่างถูกต้อง และรับการวัดผล RSSI
ติดตั้ง Wireshark
Linux
เปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้เพื่อดาวน์โหลดและติดตั้ง Wireshark
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark
เราขอแนะนำให้เรียกใช้ Wireshark ในฐานะผู้ใช้ที่ไม่ใช่ root
โดยกำหนดค่าแพ็กเกจอีกครั้งดังนี้
sudo dpkg-reconfigure wireshark-common
เมื่อได้รับกล่องโต้ตอบที่ถามว่า "ผู้ที่ไม่ใช่ผู้ใช้ขั้นสูงสามารถบันทึกแพ็กเก็ตได้ไหม"
เลือกใช่ จากนั้นเพิ่มผู้ใช้ wireshark
และอัปเดตสิทธิ์ของไฟล์ดังนี้
sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap
macOS และ Windows
ดาวน์โหลดและติดตั้ง Wireshark เพื่อเพิ่มประสิทธิภาพการรักษาความปลอดภัยสำหรับการดำเนินการของคุณ โปรดดูที่ Wireshark — ข้อมูลเฉพาะแพลตฟอร์มเกี่ยวกับสิทธิ์ในการจับภาพ
กำหนดค่าโปรโตคอล Wireshark
ในการกำหนดค่าโปรโตคอล ให้เลือกค่ากำหนด... ใน Wireshark และขยาย โปรโตคอล
6LoWPAN
เลือก 6LoWPAN จากรายการโปรโตคอล แล้วยืนยันหรือเปลี่ยนแปลงข้อมูลต่อไปนี้ การตั้งค่าต่อไปนี้
- ยกเลิกการเลือกรับรหัสตาม RFC 4944
- อัปเดตบริบท 0 ด้วยคำนำหน้า Mesh Local สำหรับเทรดเป้าหมาย เครือข่าย
Wireshark ใช้การกำหนดค่าบริบทเพื่อแยกวิเคราะห์ที่อยู่ IPv6 ที่บีบอัดและ แสดงที่อยู่ต้นทางและปลายทาง IPv6 ได้อย่างถูกต้อง
หากต้องการแสดงที่อยู่สำหรับคำนำหน้าบนเว็บอื่นๆ ที่กำหนดค่าบนเกตเวย์ อัปเดตรหัสบริบทอื่นๆ ด้วยคำนำหน้าเหล่านั้น
หากต้องการรับรหัสบริบทสำหรับคำนำหน้าบนเว็บที่เฉพาะเจาะจง ให้ดูข้อมูลเครือข่ายเทรด TLV ในข้อความตอบกลับ MLE Data เช่น
Context 1: fd00:7d03:7d03:7d03::/64
CoAP
เลือก CoAP จากรายการโปรโตคอลและตั้งค่าพอร์ต CoAP UDP ไปที่ 61631 วิธีนี้ช่วยให้มั่นใจได้ว่าข้อความ TMF (เช่น การเรียกร้องที่อยู่) จะปรากฏ
IEEE 802.15.4
เลือก IEEE 802.15.4 จากรายการโปรโตคอล แล้วยืนยันหรือเปลี่ยนแปลง การตั้งค่าต่อไปนี้:
- ตั้งค่า 802.15.4 Ethertype (เป็นเลขฐานสิบหก) เป็น "0x809a"
- ตั้งค่าชุดรักษาความปลอดภัยเป็น "AES-128 Encryption, ความสมบูรณ์แบบ 32 บิต" การปกป้อง"
คลิกปุ่ม Edit... ถัดจาก Deryption Keys ซึ่งจะเป็นจุดที่คุณ เพิ่มคีย์หลักของเครือข่ายเทรดสำหรับการถอดรหัสแพ็กเก็ต
- คลิก + เพื่อเพิ่มคีย์การถอดรหัส
- ป้อน Thread Network Master Key ลงในคอลัมน์คีย์การถอดรหัส
- ป้อน "1" ดัชนีคีย์การถอดรหัส
เลือกแฮชของชุดข้อความจากช่องรายการคอลัมน์แฮชคีย์
คลิกตกลงเพื่อบันทึกคีย์การถอดรหัส
ชุดข้อความ
เลือก Thread จากรายการโปรโตคอล แล้วยืนยันหรือเปลี่ยนแปลงสิ่งต่อไปนี้ การตั้งค่าต่อไปนี้
- ป้อน "00000000" สำหรับตัวนับลำดับชุดข้อความ
- ยกเลิกการเลือกใช้รหัส PAN เป็นอ็อกเท็ต 2 แรกของคีย์หลัก
- เลือกตัวนับลําดับเทรดโดยอัตโนมัติ
คลิกปุ่มตกลงเพื่อบันทึกการเปลี่ยนแปลงโปรโตคอล
ระบบอาจวิเคราะห์การรับส่งข้อมูลของเทรดบางรายการเป็นโปรโตคอล ZigBee แก้ไขให้ถูกต้อง แสดงโปรโตคอลทั้งสองนี้ ให้แก้ไขโปรโตคอลที่เปิดใช้งานใน Wireshark:
- ใน Wireshark ให้ไปที่วิเคราะห์ แล้วคลิกโปรโตคอลที่เปิดใช้
ยกเลิกการเลือกโปรโตคอลต่อไปนี้
- LwMesh
- ZigBee
- ZigBee Green Power
กำหนดค่า Wireshark RSSI
วิธีแสดง RSSI ใน Wireshark
- เลือกค่ากำหนด... และขยายส่วนโปรโตคอล จากนั้นคลิก IEEE 802.15.4
ตั้งค่ารูปแบบ FCS ดังนี้
คลิกตกลงเพื่อบันทึกและกลับไปที่เมนูค่ากำหนด
จากค่ากำหนด ให้เลือกลักษณะที่ปรากฏ แล้วเลือกคอลัมน์
เพิ่มรายการใหม่:
- ชื่อ: RSSI
- ประเภท: กำหนดเอง
- ฟิลด์: wpan.rssi