В ноябре прошлого года мы писали о WCH BLE Analyzer Pro , недорогом ( около $20 ) USB Bluetooth LE снифере и анализаторе, который выглядит полезным и выгодным для обратной разработки и отладки.
Одним из недостатков является то, что программное обеспечение WCH BLE Analyzer было создано только для Windows 7–11, но Xecaz решил изучить этот вопрос и восстановил USB-протокол для создания Linux-программы с использованием libusb, которая выводит стандартный pcap, совместимый с популярными инструментами, такими как Wireshark, или, как он выражается: «WinChipHead забыл поставить Linux-драйвер. Мы забыли спросить разрешения.»
Напоминаем, что BLE Analyzer Pro оснащен тремя микроконтроллерами CH582F Bluetooth LE RISC-V и концентратором CH334 USB, поддерживает Bluetooth Low Energy (BLE) 4.0/4.2/5.0 и подключается к хосту через порт USB-C.
Linux-«драйвер» для инструмента BLE Analyzer Pro можно найти на GitHub . Сборка и установка программы быстры и просты:
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
Проверить опцию можно, запустив программу без параметров:
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.
Для работы нет под рукой, но использование возможно следующим образом:
sudo ./wch_capture -v -w capture.pcap
Затем можно открыть файл capture.cap в Wireshark для дальнейшего анализа. Все три микроконтроллера захватывают данные одновременно на каналах 37/38/39, а Wireshark декодирует ADV_IND, ADV_NONCONN_IND, ADV_SCAN_IND, SCAN_REQ, SCAN_RSP, CONNECT_IND, поиск по OUI и т.д. Для более подробного изучения процесса обратной разработки рекомендуется прочитать файл «RE_PROCESS.md» на GitHub. Также ведется разработка Android-приложения, и Xecaz приглашает тестировщиков перед публичным выпуском приложения.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.
