El WCH BLE Analyzer Pro, un sniffer y analizador USB de Bluetooth Low Energy que CNX Software cubrió en noviembre del año pasado, es una de las herramientas más baratas para reverse engineering y debugging de BLE: cuesta cerca de 20 dólares en AliExpress y se vende para reemplazar opciones varias veces más caras. El problema, hasta ahora, era que el software oficial de WCH (WinChipHead) solo corría en Windows 7 a 11.
Un desarrollador conocido como Xecaz decidió mirar el problema: hizo ingeniería inversa del protocolo USB del dispositivo y escribió software para Linux usando libusb que escribe archivos pcap estándar, compatibles con herramientas populares como Wireshark. Como lo resume él mismo: "WinChipHead se olvidó de incluir un driver para Linux. Nosotros nos olvidamos de pedir permiso."
¿Qué trae el hardware del BLE Analyzer Pro?
Como recordatorio, el BLE Analyzer Pro lleva tres microcontroladores Bluetooth Low Energy CH582F basados en RISC-V y un hub USB CH334, soporta Bluetooth Low Energy (BLE) 4.0, 4.2 y 5.0, y se conecta al host por USB-C. Los tres MCUs permiten capturar simultáneamente en los tres canales de advertising (37, 38 y 39), lo que evita perder paquetes en sniffers de un solo radio.
Cómo instalar el driver en Linux
El "driver" para Linux está en GitHub. La compilación e instalación son directas:
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 triggerUna vez instalado, correr el binario sin argumentos muestra las opciones:
WCH BLE Analyzer PRO Linux Capture tool by Xecaz 2026!
Usage: ./wch_capture [OPTIONS]
Options:
-v Imprime paquetes a stdout
-w FILE.pcap Escribe PCAP (DLT 256, BLE LL + phdr)
-p PHY PHY: 1=1M (default), 2=2M, 3=CodedS8, 4=CodedS2
-i ADDR Filtro MAC del initiator (AA:BB:CC:DD:EE:FF)
-a ADDR Filtro MAC del advertiser (AA:BB:CC:DD:EE:FF)
-k KEY LTK, 32 caracteres hex
-K PASSKEY Passkey BLE (6 dígitos decimales)
-2 Modo custom 2.4G (default: BLE monitor)
-c CHAN Canal 0-39: advertising BLE 37/38/39 o 0=all
-A AADDR 2.4G access addr (hex, p.ej. 8E89BED6)
-C CRCINIT 2.4G CRC init (6 caracteres hex)
-W WHITEN 2.4G whitening init (byte hex)
-h Mostrar esta ayuda
La captura se detiene con SIGINT (Ctrl+C) o SIGTERM.Captura típica con salida pcap
Para iniciar una captura y guardarla en un archivo abrible por Wireshark:
sudo ./wch_capture -v -w capture.pcapLos tres MCUs capturan simultáneamente en los canales 37, 38 y 39, y Wireshark decodifica los paquetes habituales del protocolo: ADV_IND, ADV_NONCONN_IND, ADV_SCAN_IND, SCAN_REQ, SCAN_RSP, CONNECT_IND, y lookups OUI para identificar fabricantes a partir de las direcciones MAC.
Si te interesa el proceso de reverse engineering en sí, Xecaz documentó el procedimiento en el archivo RE_PROCESS.md del mismo repositorio. También está trabajando en una app Android para usar el sniffer desde teléfono, y busca testers antes del lanzamiento público en su cuenta de X.
Por qué importa para hardware hackers
Las herramientas de sniffing BLE de marca (Ellisys, Nordic nRF Sniffer con licencias) se venden entre USD 100 y USD 500. Tener una alternativa de 20 dólares que ahora corre en Linux y exporta a Wireshark amplía considerablemente el público que puede auditar protocolos BLE comerciales, depurar productos IoT propios o estudiar el comportamiento de wearables. La aparición del driver Linux también baja la barrera para integrar el sniffer en pipelines automatizados de testing (CI con captura BLE durante pruebas) o en setups headless sobre Raspberry Pi.




