ติดตั้งและกําหนดค่า Wireshark

ดูซอร์สโค้ดใน GitHub

Wireshark เป็นเครื่องมือโอเพนซอร์สที่สามารถถอดรหัสโปรโตคอลเครือข่ายในแพ็กเกจเทรด เช่น IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Establishment), 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 จากรายการโปรโตคอล แล้วยืนยันหรือเปลี่ยนการตั้งค่าต่อไปนี้

  1. ยกเลิกการเลือกสร้างรหัสตาม RFC 4944
  2. อัปเดต Context 0 ด้วยคำนำหน้า Mesh Local สำหรับเครือข่ายเทรดเป้าหมาย

OT Sniffer Wireshark 6LoWPAN

Wireshark ใช้การกำหนดค่าบริบทเพื่อแยกวิเคราะห์ที่อยู่ IPv6 ที่บีบอัดและแสดงที่อยู่ต้นทางและปลายทาง IPv6 อย่างถูกต้อง

หากต้องการแสดงที่อยู่สำหรับคำนำหน้าอื่นๆ ใน Mesh ที่กําหนดค่าไว้ในเกตเวย์ ให้อัปเดตรหัสบริบทอื่นๆ ด้วยคำนำหน้าเหล่านั้น

หากต้องการดูรหัสบริบทของคำนำหน้าใน Mesh ที่เฉพาะเจาะจง ให้ดูข้อมูลเครือข่ายเทรด TLV ในข้อความตอบกลับข้อมูล MLE เช่น

Context 1: fd00:7d03:7d03:7d03::/64

CoAP

เลือก CoAP จากรายการโปรโตคอล แล้วตั้งค่าพอร์ต UDP ของ CoAP เป็น 61631 วิธีนี้ช่วยให้มั่นใจว่าข้อความ TMF (เช่น การขอที่อยู่) จะแสดง

IEEE 802.15.4

เลือก IEEE 802.15.4 จากรายการโปรโตคอล แล้วยืนยันหรือเปลี่ยนการตั้งค่าต่อไปนี้

  1. ตั้งค่า 802.15.4 Ethertype (ในรูปแบบเลขฐาน 16) เป็น "0x809a"
  2. ตั้งค่า Security Suite เป็น "การเข้ารหัส AES-128, การป้องกันความสมบูรณ์ 32 บิต"
  3. คลิกปุ่มแก้ไข... ข้างคีย์การถอดรหัส ซึ่งเป็นที่ที่คุณเพิ่มคีย์หลักของเครือข่ายเทรดสำหรับการถอดรหัสแพ็กเก็ต

    1. คลิก + เพื่อเพิ่มคีย์การถอดรหัส
    2. ป้อนคีย์หลักของเครือข่ายเทรดในคอลัมน์คีย์การถอดรหัส
    3. ป้อน "1" เป็นดัชนีคีย์การถอดรหัส
    4. เลือกแฮชชุดข้อความจากกล่องรายการของคอลัมน์แฮชคีย์

      OT Sniffer Wireshark IEEE 802.15.4

    5. คลิกตกลงเพื่อบันทึกคีย์การถอดรหัส

ชุดข้อความ

เลือก Thread จากรายการโปรโตคอล แล้วยืนยันหรือเปลี่ยนการตั้งค่าต่อไปนี้

  • ป้อน "00000000" สำหรับตัวนับลำดับชุดข้อความ
  • ยกเลิกการเลือกใช้รหัส PAN เป็น 2 อ็อกเต็ตแรกของคีย์หลัก
  • เลือกรับตัวนับลำดับชุดข้อความโดยอัตโนมัติ

คลิกปุ่ม OK เพื่อบันทึกการเปลี่ยนแปลงโปรโตคอล

การเข้าชมเทรดบางรายการอาจได้รับการวิเคราะห์ว่าเป็นโปรโตคอล ZigBee หากต้องการแสดงโปรโตคอล 2 รายการนี้อย่างถูกต้อง ให้แก้ไขโปรโตคอลที่เปิดใช้ใน Wireshark

  1. ใน Wireshark ให้ไปที่วิเคราะห์ แล้วคลิกโปรโตคอลที่เปิดใช้
  2. ยกเลิกการเลือกโปรโตคอลต่อไปนี้

    1. LwMesh
    2. ZigBee
    3. ZigBee Green Power

กำหนดค่า RSSI ของ Wireshark

วิธีแสดง RSSI ใน Wireshark

  1. เลือกค่ากําหนด... แล้วขยายส่วนโปรโตคอล จากนั้นคลิก IEEE 802.15.4
  2. ตั้งค่ารูปแบบ FCS

    • หากปิดใช้ TAP ของ IEEE 802.15.4: ข้อมูลเมตา TI CC24xx
    • หากเปิดใช้ TAP ของ IEEE 802.15.4: ITU-T CRC-16 หากคุณทําตามคู่มือการสํารวจแพ็กเก็ตสําหรับ Nordic Semiconductor nRF52840 DK โปรดดูข้อมูลเพิ่มเติมใน --tap flag
  3. คลิก OK เพื่อบันทึกและกลับไปที่เมนูค่ากำหนด

  4. จากค่ากําหนด ให้เลือกลักษณะที่ปรากฏ แล้วเลือกคอลัมน์

  5. วิธีเพิ่มรายการใหม่

    • ชื่อ: RSSI
    • ประเภท: กำหนดเอง
    • ฟิลด์: wpan.rssi

OT Sniffer Wireshark RSSI