Wireshark เป็นเครื่องมือแบบโอเพนซอร์สที่ถอดรหัสโปรโตคอลเครือข่ายได้ในกลุ่มชุดข้อความ เช่น IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Establishment), UDP, และ CoAP
เครื่องมือ Pspinel sniffer จะเชื่อมต่อกับ 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 และขยายส่วนโปรโตคอล
6 โลว์แพน
เลือก 6LoWPAN จากรายการโปรโตคอลและยืนยันหรือเปลี่ยนการตั้งค่าต่อไปนี้
- ยกเลิกการเลือกรหัสที่มาตาม RFC 4944
- อัปเดต บริบท 0 ด้วยคํานําหน้าที่ทํางานร่วมกันของ Mesh สําหรับเครือข่ายชุดข้อความในเป้าหมาย
Wireshark ใช้การกําหนดค่าบริบทเพื่อแยกวิเคราะห์ที่อยู่ IPv6 ที่บีบอัด และแสดงที่อยู่ IPv6 และต้นทางอย่างถูกต้อง
หากต้องการแสดงที่อยู่ของคํานําหน้าที่ทํางานร่วมกันอื่นๆ ที่กําหนดค่าไว้ในเกตเวย์ ให้อัปเดตรหัสบริบทอื่นๆ ด้วยคํานําหน้าเหล่านั้น
หากต้องการรับรหัสบริบทสําหรับคํานําหน้าที่ Mesh โปรดดู Tnetwork Network DataTTV ในข้อความตอบกลับข้อมูล MLE เช่น
Context 1: fd00:7d03:7d03:7d03::/64
ก๊าซคาร์บอนมอนอกไซด์
เลือก CoAP จากรายการโปรโตคอลและตั้งค่า CoAP UDP Port เป็น 61631 วิธีนี้จะทําให้ระบบแสดงข้อความ TMF (เช่น การร้องขอที่อยู่)
IEEE 802.15.4
เลือก IEEE 802.15.4 จากรายการโปรโตคอลและยืนยันหรือเปลี่ยนการตั้งค่าต่อไปนี้
- ตั้งค่า 802.15.4 อีเทอร์เน็ต (ในรูปแบบเลขฐาน 16) เป็น "0x809a"
- ตั้งค่า Security Suite เป็น "AES-128 Encryption, 32-Integrity Protection"
คลิกปุ่มแก้ไข... ถัดจากคีย์การถอดรหัส ซึ่งเป็นที่สําหรับเพิ่มคีย์ต้นแบบเครือข่ายชุดข้อความสําหรับการเข้ารหัสแพ็กเก็ต
- คลิก + เพื่อเพิ่มคีย์การถอดรหัส
- ป้อนคีย์ต้นแบบเครือข่ายชุดข้อความลงในคอลัมน์คีย์การถอดรหัส
- ป้อน "1" เป็นดัชนีคีย์การถอดรหัส
เลือกแฮชชุดข้อความจากรายการคอลัมน์แฮชคีย์
คลิกตกลงเพื่อบันทึกคีย์การถอดรหัส
เทรด
เลือก Thread จากรายการโปรโตคอล แล้วยืนยันหรือเปลี่ยนการตั้งค่าต่อไปนี้
- ป้อน "00000000" สําหรับตัวนับลําดับชุดข้อความ
- ยกเลิกการเลือกใช้รหัส PAN เป็น 2 อ็อกเท็ตแรกของคีย์หลัก
- เลือกรับตัวนับลําดับชุดข้อความโดยอัตโนมัติ
คลิกปุ่มตกลงเพื่อบันทึกการเปลี่ยนแปลงโปรโตคอล
อาจวิเคราะห์การรับส่งข้อมูลของชุดข้อความบางรายการเป็นโปรโตคอล ZigBee หากต้องการแสดงโปรโตคอลทั้ง 2 รายการนี้อย่างถูกต้อง ให้แก้ไขโปรโตคอลที่เปิดใช้ใน Wireshark ดังนี้
- ใน Wireshark ให้ไปที่ วิเคราะห์ แล้วคลิก โปรโตคอลที่เปิดใช้งาน
ยกเลิกการเลือกโปรโตคอลต่อไปนี้
- LwMesh
- ซิกบี
- ไฟฟ้าสีเขียว ZigBee
กําหนดค่า Wireshark RSSI
วิธีแสดง RSSI ใน Wireshark:
- เลือกค่ากําหนด... แล้วขยายส่วนโปรโตคอล จากนั้นคลิก IEEE 802.15.4
ตั้งค่ารูปแบบ FCS ดังนี้
- หาก IEEE 802.15.4 TAP ปิดใช้อยู่: ข้อมูลเมตาของ TI CC24xx
- หากเปิดใช้ IEEE 802.15.4 TAP: ITU-T CRC-16 โปรดทําตามคู่มือการสแนปแพ็คเก็ตสําหรับ Nordic Semiconductor nRF52840
DK โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการแจ้งว่าไม่เหมาะสมของ
--tap
คลิก OK เพื่อบันทึกและกลับไปที่เมนู Preferences
จากค่ากําหนด ให้เลือกลักษณะที่ปรากฏ จากนั้นเลือกคอลัมน์
เพิ่มรายการใหม่:
- ชื่อ: RSSI
- ประเภท: กําหนดเอง
- ช่อง: wpan.rssi