web-dev-qa-db-fra.com

Renifler / enregistrer votre propre Android trafic Bluetooth

J'ai récemment acheté un appareil chinois qui se connecte via Bluetooth avec Android téléphone/tablette. Comme il n'y a aucune application disponible pour Windows/Linux, je souhaite en créer un pour un usage personnel.

En général, le téléphone se connecte à l'appareil et échange des données. J'ai connecté un ordinateur à l'appareil, examiné le débogueur de série et découvert le protocole (à sens unique). Le téléphone n'envoie qu'une commande à l'appareil. Mais cette fois, je ne suis pas en mesure de savoir ce qu’il contient.

Existe-t-il un logiciel qui me permette de consulter les données envoyées via Bluetooth? J'ai essayé de décompiler l'application, mais cela semble vraiment inamical.

Merci.

66
peku33

Android 4.4 (Kit Kat) dispose d'une nouvelle fonctionnalité de détection pour Bluetooth. Tu devrais essayer.

Cependant, si vous ne possédez pas de dispositif de détection, vous n’êtes pas nécessairement chanceux. Dans de nombreux cas, nous pouvons obtenir des résultats positifs avec une nouvelle fonctionnalité introduite dans Android 4.4): possibilité de capturer tous les paquets Bluetooth HCI et de les enregistrer dans un fichier.

Lorsque l'analyste a fini de renseigner le fichier de capture en exécutant l'application à tester, il peut extraire le fichier généré par Android dans le stockage externe du périphérique et l'analyser (avec Wireshark , par exemple).

Une fois ce paramètre activé, Android enregistre la capture de paquet dans /sdcard/btsnoop_hci.log pour que l’analyste puisse la récupérer et l’inspecter.

Tapez ce qui suit dans le cas /sdcard/ n'est pas le bon chemin sur votre appareil particulier:

adb Shell echo \$EXTERNAL_STORAGE

Nous pouvons ensuite ouvrir un shell et extraire le fichier: $ adb pull /sdcard/btsnoop_hci.log et l'inspecter avec Wireshark, exactement comme un PCAP collecté en reniflant le trafic WiFi, par exemple, il est donc très simple et bien pris en charge:

screenshot of wireshark capture using Android HCI Snoop

[source]

Vous pouvez l'activer en allant dans Paramètres-> Options pour les développeurs, puis en cochant la case en regard de "Journal de surveillance Bluetooth HCI".

78
Stephan Branczyk

En outre, cela pourrait aider à trouver l'emplacement actuel du fichier btsnoop_hci.log:

adb Shell "cat /etc/bluetooth/bt_stack.conf | grep FileName"
7
maximevince