เราเคยเขียนถึงอุปกรณ์ WCH BLE Analyzer Pro ซึ่งเป็น USB Bluetooth LE Sniffer และ Analyzer ราคาประหยัดประมาณ $20 (~650฿) ที่ดูน่าสนใจและคุ้มค่าสำหรับงานด้าน Reverse Engineering และการดีบักระบบ
น่าเสียดายที่ซอฟต์แวร์ของ WCH BLE Analyzer รองรับเฉพาะระบบปฏิบัติการ Windows 7 ถึง Windows 11 เท่านั้น แต่ทาง Xecaz ได้ตัดสินใจศึกษาการทำงานของมันเพิ่มเติม และทำการ Reverse Engineer โปรโตคอล USB จนสามารถพัฒนาซอฟต์แวร์สำหรับ Linux ขึ้นมาได้ โดยใช้ libusb พร้อมรองรับการส่งออกข้อมูลเป็นไฟล์มาตรฐาน pcap ซึ่งสามารถใช้งานร่วมกับเครื่องมือยอดนิยมอย่าง Wireshark ได้ โดยเจ้าตัวกล่าวไว้ได้อย่างน่าสนใจว่า “WinChipHead ลืมทำไดรเวอร์สำหรับ Linux มาให้ ส่วนพวกเราก็ลืมขออนุญาตเช่นกัน”
เพื่อทบทวนกันอีกครั้ง ตัว BLE Analyzer Pro มาพร้อมไมโครคอนโทรลเลอร์ Bluetooth LE รุ่น CH582F แบบสถาปัตยกรรม RISC-V จำนวน 3 ตัว และชิป USB Hub รุ่น CH334 รองรับมาตรฐาน Bluetooth Low Energy (BLE) เวอร์ชัน 4.0, 4.2 และ 5.0 โดยเชื่อมต่อกับคอมพิวเตอร์ผ่านพอร์ต USB-C
สำหรับ “ไดรเวอร์” เวอร์ชัน Linux ของเครื่องมือ BLE Analyzer Pro นั้น สามารถดาวน์โหลดได้บน GitHub โดยขั้นตอนการคอมไพล์และติดตั้งซอฟต์แวร์ทำได้อย่างรวดเร็วและไม่ซับซ้อน:
|
1 2 3 4 5 6 |
git clone https://github.com/xecaz/BLE-Analyzer-pro-linux-capture cd BLE-Analyzer-pro-linux-capture/ sudo apt install libusb-1.0-0-dev make sudo make install sudo udevadm control --reload-rules && sudo udevadm trigger |
สามารถตรวจสอบตัวเลือกการใช้งานต่าง ๆ ได้โดยรันโปรแกรมแบบไม่ระบุพารามิเตอร์ใด ๆ:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
jaufranc@CNX-LAPTOP-5:~/edev/sandbox/BLE-Analyzer-pro-linux-capture$ ./wch_capture Nothing to do – use -v and/or -w FILE.pcap WCH BLE Analyzer PRO Linux Capture tool by Xecaz 2026! Usage: ./wch_capture [OPTIONS] Options: -v Print packets to stdout -w FILE.pcap Write PCAP (DLT 256, BLE LL + phdr) -p PHY PHY: 1=1M (default), 2=2M, 3=CodedS8, 4=CodedS2 -i ADDR Initiator MAC filter (AA:BB:CC:DD:EE:FF) -a ADDR Advertiser MAC filter (AA:BB:CC:DD:EE:FF) -k KEY LTK, 32 hex chars -K PASSKEY BLE passkey (6-digit decimal) -2 Custom 2.4G mode (default: BLE monitor) -c CHAN Channel 0-39: BLE adv 37/38/39 or 0=all (auto per MCU); 2.4G raw -A AADDR 2.4G access addr (hex, e.g. 8E89BED6) -C CRCINIT 2.4G CRC init (6 hex chars, e.g. 555555) -W WHITEN 2.4G whitening init (hex byte) -h Show this help Capture stops on SIGINT (Ctrl+C) or SIGTERM. |
เรายังไม่มีอุปกรณ์ตัวนี้อยู่ในมือ แต่จากข้อมูลที่มี สามารถใช้งานได้ตามตัวอย่างต่อไปนี้:
|
1 |
sudo ./wch_capture -v -w capture.pcap |
จากนั้นคุณสามารถเปิดไฟล์ capture.cap ด้วย Wireshark เพื่อทำการวิเคราะห์ข้อมูลเพิ่มเติมได้ โดยไมโครคอนโทรลเลอร์ทั้ง 3 ตัวจะทำการดักจับข้อมูลพร้อมกันบนช่องสัญญาณ 37, 38 และ 39 ทำให้ Wireshark สามารถถอดรหัสแพ็กเก็ตต่าง ๆ ได้อย่างครบถ้วน ไม่ว่าจะเป็น ADV_IND, ADV_NONCONN_IND, ADV_SCAN_IND, SCAN_REQ, SCAN_RSP, CONNECT_IND รวมถึงรองรับการค้นหาข้อมูล OUI อีกด้วย ถ้าต้องการศึกษาเบื้องหลังขั้นตอนการ Reverse Engineering เพิ่มเติม แนะนำให้อ่านไฟล์ RE_PROCESS.md บน GitHub ซึ่งอธิบายกระบวนการพัฒนาไว้ค่อนข้างละเอียด นอกจากนี้ขณะนี้ยังมีการพัฒนาแอปพลิเคชันสำหรับ Android อยู่ด้วย และทาง Xecaz ก็กำลังเปิดรับผู้ทดสอบก่อนที่จะปล่อยแอปเวอร์ชันสาธารณะอย่างเป็นทางการในอนาคต
แปลจากบทความ : WCH BLE Analyzer Pro USB Bluetooth LE sniffer gains Linux software with Wireshark (pcap) support

บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT

