Olfatear / registrar su propio tráfico de Android con Bluetooth

Recientemente compré el dispositivo chinesse que se conecta a través de bluetooth con un teléfono / tableta Android. Como no hay una aplicación disponible para Windows / Linux, quiero crear una para uso personal.

Por lo general, el teléfono se conecta al dispositivo e intercambia algunos datos. Conecté la PC al dispositivo y busqué en el depurador de serie y mencioné para descubrir el protocolo (solo de una manera). El teléfono solo envía un comando al dispositivo. Pero esta vez no puedo descubrir qué contiene.

¿Hay algún software que me permita ver los datos enviados a través de Bluetooth? Intenté descomstackr la aplicación, pero se ve muy desagradable.

Gracias.

Android 4.4 (Kit Kat) tiene una nueva capacidad de rastreo para Bluetooth. Usted debe darle una oportunidad.

Sin embargo, si no posee un dispositivo de olfateo, no necesariamente tiene mala suerte. En muchos casos, podemos obtener resultados positivos con una nueva característica introducida en Android 4.4: la capacidad de capturar todos los paquetes Bluetooth HCI y guardarlos en un archivo.

Cuando el analista haya terminado de llenar el archivo de captura ejecutando la aplicación que se está probando, puede extraer el archivo generado por Android en el almacenamiento externo del dispositivo y analizarlo (con Wireshark , por ejemplo).

Una vez que esta configuración esté activada, Android guardará la captura de paquetes en /sdcard/btsnoop_hci.log para que el analista la extraiga e inspeccione.

Escriba lo siguiente en caso de que /sdcard/ no sea la ruta correcta en su dispositivo particular:

 adb shell echo \$EXTERNAL_STORAGE 

A continuación, podemos abrir un shell y extraer el archivo: $ adb pull /sdcard/btsnoop_hci.log e inspeccionarlo con Wireshark, al igual que un PCAP recostackdo al rastrear el tráfico WiFi, por ejemplo, por lo que es muy simple y está bien soportado:

captura de pantalla de la captura de wireshark usando Android HCI Snoop

[fuente]

Puede habilitar esto yendo a Configuración-> Opciones de desarrollador, luego marcando la casilla junto a “Bluetooth HCI Snoop Log”.

Además, esto podría ayudar a encontrar la ubicación real en la que se está guardando btsnoop_hci.log:

 adb shell "cat /etc/bluetooth/bt_stack.conf | grep FileName"