คู่มือนี้ครอบคลุมวิธีกําหนดค่า Extcap สําหรับ Wireshark เพื่อดักจับแพ็กเก็ตจากเครือข่ายเทรด
หากต้องการใช้ Pysapisl สําหรับดักจับแพ็กเก็ตโดยไม่ใช้ส่วนขยาย โปรดดูการดักจับแพ็กเกจด้วย PysSpringl
ตั้งค่าสภาพแวดล้อมสําหรับกรอง
ก่อนที่จะเริ่มต้น โปรดทําตามขั้นตอนต่อไปนี้
การยืนยัน
คําแนะนํานี้ได้รับการยืนยันด้วย Zolertia Firefly (Texas Instruments CC2538 SoC) ในระบบโฮสต์ต่อไปนี้
- Debian 4.19.37 — Wireshark 3.0.4
- macOS Mojave 10.14.6 — Wireshark 3.0.5
- Windows 10 เวอร์ชัน 14 เวอร์ชัน 17134 — Wireshark 3.0.6
สร้างและแฟลชดม
วิธีการสร้างและกะพริบจะแตกต่างกันไปตามแพลตฟอร์ม
หากต้องการดูวิธีสร้างและกะพริบ CC2538 โปรดดูตัวอย่าง CC2538 README ใน GitHub
โปรดดูวิธีสร้างทั่วไปได้ที่วิธีสร้าง OpenThread
ใช้ดมกลิ่น
หน้าจอจับภาพหน้าจอ Wireshark จะแสดงเมื่อมีการเปิดใช้งาน Wireshark ครั้งแรก ซึ่งควรแสดงอินเทอร์เฟซฮาร์ดแวร์ที่เชื่อมต่อกับตัวตรวจสอบ OpenThread ไว้
จับภาพจากอินเทอร์เฟซเดียว
หากใช้อินเทอร์เฟซเป็นครั้งแรก ให้คลิกปุ่มตัวเลือกทางด้านซ้ายของอินเทอร์เฟซ ดังนี้
- ตั้งค่าช่องเป็นค่าที่ต้องการ
- ตรวจสอบ IEEE 802.15.4 TAP เพื่อให้แน่ใจว่าข้อมูลช่องรวมอยู่ในเอาต์พุต pcap และสามารถแสดงใน Wireshark GUI
- เลือกบันทึกพารามิเตอร์เมื่อเริ่มต้นการบันทึกเพื่อให้แน่ใจว่าระบบจะบันทึกพารามิเตอร์เหล่านี้หลังจากที่เริ่มการจับภาพแล้ว เพื่อหลีกเลี่ยงการตั้งพารามิเตอร์อีกครั้งในครั้งถัดไปที่ใช้อินเทอร์เฟซ (เว้นแต่จะต้องเปลี่ยนช่อง)
- คลิกเริ่ม
หากบันทึกพารามิเตอร์ไว้แล้ว ให้เริ่มกรองโดยเลือกอินเทอร์เฟซฮาร์ดแวร์ และคลิกไอคอน Wireshark ที่ด้านซ้ายบน
จับภาพจากหลายอินเทอร์เฟซ
เลือกอินเทอร์เฟซฮาร์ดแวร์ทั้งหมดที่แสดงในหน้าจอจับภาพหน้าจอและคลิกไอคอน Wireshark ที่ด้านซ้ายบน
ใช้ช่องเหล่านี้เพื่อระบุนักตรวจจับแต่ละคนเมื่อจับภาพจากอินเทอร์เฟซหลายหน้า
- รหัสอินเทอร์เฟซ (frame.interface_id) - ตัวระบุอินเทอร์เฟซที่ Wireshark ใช้เพื่อระบุอินเทอร์เฟซการจับภาพ
- ชื่ออินเทอร์เฟซ (frame.interface_name) - ชื่ออินเทอร์เฟซที่ Wireshark ใช้เพื่อระบุอินเทอร์เฟซการจับภาพ
- ช่อง (wpan-tap.ch_num) — IEEE 802.15.4 จับภาพช่อง (ช่วง: 11-26)
การแก้ปัญหา
โปรแกรมเปิดชุดข้อความไม่มีรายการเป็นอินเทอร์เฟซ Wireshark
- หากติดตั้งล่าม Python ไว้หลายรายการ ให้ตรวจสอบว่าสคริปต์ extcap มีการใช้ Python 3 Pysapisl ไม่รองรับ Python 2
- ตรวจสอบว่ามีการระบุฮาร์ดแวร์ใน USB และไดรเวอร์โหลดแล้ว
- ตรวจสอบว่าเฟิร์มแวร์ที่ถูกต้อง (NCP หรือ RCP) แฟลชไปยังฮาร์ดแวร์แล้ว
- ยืนยันว่าสคริปต์ Python ที่อยู่ในเส้นทาง Extcap เป็นไฟล์ปฏิบัติการ
- สําหรับ OS X และ Linux ให้ทําดังนี้
- ยืนยันว่ามีการเรียกใช้สิทธิ์สําหรับไฟล์
extcap_ot.py
ls -l extcap_ot.py
- หากสิทธิ์ดําเนินการ (x) ขาดหายไป ให้แก้ไขสิทธิ์ต่อไปนี้
chmod +x extcap_ot.py
- ยืนยันว่าอินเทอร์เฟซแสดงอยู่
extcap_ot.py --extcap-interfaces
- ยืนยันว่ามีการเรียกใช้สิทธิ์สําหรับไฟล์
- สําหรับ Windows ให้ทําดังนี้
- ยืนยันว่าอินเทอร์เฟซแสดงอยู่
extcap_ot.bat --extcap-interfaces
- หากออกมาพร้อมกับข้อผิดพลาด Python ให้ยืนยันว่าเวอร์ชัน Python เป็น 3.x
py -3 --version
- ยืนยันว่าอินเทอร์เฟซแสดงอยู่
- สําหรับ OS X และ Linux ให้ทําดังนี้
Wireshark อนุญาตเฉพาะผู้ใช้รากในการจับภาพแพ็กเก็ต
ระหว่างการติดตั้ง Wireshark ใน Ubuntu ผู้ใช้จะได้รับข้อความแจ้งให้ผู้ใช้เลือกหนึ่งในตัวเลือกต่อไปนี้
- สร้างกลุ่มผู้ใช้
wireshark
และอนุญาตให้สมาชิกทั้งหมดของกลุ่มบันทึกแพ็กเก็ต - อนุญาตให้ผู้ใช้
root
บันทึกแพ็กเก็ตได้เท่านั้น
เราไม่แนะนําให้ใช้ Wireshark ในฐานะผู้ใช้ root
หากเลือกตัวเลือกดังกล่าว ให้เปลี่ยนการตั้งค่า ดังนี้
sudo dpkg-reconfigure wireshark-common
หากมีการกําหนดค่า Wireshark เพื่อจํากัดการจับภาพสําหรับสมาชิกในกลุ่ม wireshark
คุณอาจต้องเพิ่มผู้ใช้ที่ถูกต้องในกลุ่ม:
sudo usermod -a -G wireshark user
และเพิ่มผู้ใช้ที่ถูกต้องลงในกลุ่ม dialout
ด้วย ดังนี้
sudo usermod -a -G dialout user
ปิดและรีสตาร์ท Wireshark เพื่อใช้การตั้งค่ากลุ่มผู้ใช้ใหม่
ข้อผิดพลาดรูปแบบ Wireshark เมื่อจับภาพบนอินเทอร์เฟซ USB หลายหน้าต่างใน Windows
นี่คือปัญหาที่ทราบสําหรับ Wireshark เวอร์ชันเก่าบางส่วน ตรวจสอบว่าคุณใช้ Wireshark 3.0.6 หรือรุ่นที่ใหม่กว่า