Wireshark เป็นเครื่องมือโอเพนซอร์สที่สามารถถอดรหัสโปรโตคอลเครือข่ายในกลุ่มเทรด เช่น IEEE 802.15.4, 6LoWPAN, IPv6, MLE (การตรวจสอบ Mesh Link), UDP และ CoAP
เครื่องมือ Sniffer จาก Pyscorpl เชื่อมต่อกับอุปกรณ์เทรด NCP หรือ RCP และแปลงเป็นนักดักจับแพ็กเก็ตที่ทํางานพร้อมกัน ทําให้สตรีม PIP (การจับภาพแพ็กเก็ต) ได้รับการบันทึกหรือ Pivot ไปยัง Wireshark ได้โดยตรง
หากต้องการใช้ Wireshark กับ Pyspitl ให้ดูคําแนะนําในการติดตั้งในขั้นตอนถัดไป นอกจากนี้ คุณจะต้องกําหนดค่า 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 จากรายการโปรโตคอล จากนั้นยืนยันหรือเปลี่ยนการตั้งค่าต่อไปนี้
- ยกเลิกการเลือก Derive ID ตาม RFC 4944
- อัปเดต Context 0 ด้วยคํานําหน้าภายในของ Mesh สําหรับเครือข่ายชุดข้อความเป้าหมาย
Wireshark ใช้การกําหนดค่าบริบทเพื่อแยกวิเคราะห์ที่อยู่ IPv6 ที่บีบอัด และแสดงที่อยู่ IPv6 และแหล่งที่มาปลายทางอย่างถูกต้อง
หากต้องการแสดงที่อยู่ของคํานําหน้า Mesh อื่นๆ ที่กําหนดค่าไว้ในเกตเวย์ ให้อัปเดตรหัสบริบทอื่นๆ ด้วยคํานําหน้าเหล่านั้น
หากต้องการรับรหัสบริบทสําหรับคํานําหน้า Mesh ที่เจาะจง ให้ดู TLV ของ เทรดเครือข่าย ในข้อความตอบกลับข้อมูล MLE เช่น
Context 1: fd00:7d03:7d03:7d03::/64
เครื่องทําความเย็น
เลือก CoAP จากรายการโปรโตคอลและตั้งค่าพอร์ต UDP UDP เป็น 61631 ซึ่งจะทําให้ข้อความ TMF (เช่น การดึงที่อยู่) ปรากฏขึ้น
IEEE 802.15.4
เลือก IEEE 802.15.4 จากรายการโปรโตคอลแล้วยืนยันหรือเปลี่ยนการตั้งค่าต่อไปนี้
- ตั้งค่า 802.15.4 Ethertype (ในเลขฐานสิบหก) เป็น "0x809a"
- ตั้งค่าการรักษาความปลอดภัยเป็น "การเข้ารหัส AES-128, การปกป้องความสมบูรณ์แบบ 32 บิต"
คลิกปุ่มแก้ไข... ถัดจากคีย์การถอดรหัส ซึ่งเป็นที่ที่คุณจะเพิ่มคีย์หลักของเครือข่ายเทรดเพื่อถอดรหัสแพ็กเก็ต
- คลิก + เพื่อเพิ่มคีย์การถอดรหัส
- ป้อนคีย์หลักของเครือข่ายเทรดลงในคอลัมน์คีย์การถอดรหัส
- ป้อน "1" เป็นดัชนีคีย์การถอดรหัส
เลือกแฮชชุดข้อความจากช่องรายการแฮชคีย์
คลิก OK เพื่อบันทึกคีย์การถอดรหัส
เทรด
เลือกชุดข้อความจากรายการโปรโตคอล จากนั้นยืนยันหรือเปลี่ยนการตั้งค่าต่อไปนี้
- ป้อน "00000000" สําหรับตัวนับลําดับชุดข้อความ
- ยกเลิกการเลือกใช้รหัส PAN เป็น 2 ส่วนแรกของคีย์หลัก
- เลือกได้รับตัวนับลําดับชุดข้อความโดยอัตโนมัติ
คลิกปุ่มตกลงเพื่อบันทึกการเปลี่ยนแปลงโปรโตคอล
การเข้าชมเทรดบางรายการอาจได้รับการวิเคราะห์เป็นโปรโตคอล ZigBee หากต้องการแสดงโปรโตคอลทั้ง 2 รายการนี้ให้ถูกต้อง ให้แก้ไขโปรโตคอลที่เปิดใช้ใน Wireshark
- ใน Wireshark ให้ไปที่วิเคราะห์ แล้วคลิกโปรโตคอลที่เปิดใช้
ยกเลิกการเลือกโปรโตคอลต่อไปนี้
- LwMesh
- ซิกบี
- พลังงานซิกบีสีเขียว
กําหนดค่า RSSIrk RSSI
วิธีแสดง RSSI ใน Wireshark
- เลือกค่ากําหนด... และขยายส่วน Protocols จากนั้นคลิก 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
คลิกตกลงเพื่อบันทึกและกลับไปที่เมนูค่ากําหนด
จากค่ากําหนด เลือกลักษณะที่ปรากฏ แล้วเลือกคอลัมน์
เพิ่มรายการใหม่:
- ชื่อ: RSSI
- ประเภท: กําหนดเอง
- ช่อง: wpan.rssi