wake-up-neo.net

Schnüffeln / Protokollieren Ihres eigenen Android Bluetooth-Verkehrs

Ich habe kürzlich ein Gerät gekauft, das sich über Bluetooth mit Android phone/tablet verbindet. Da für Windows/Linux keine Anwendung verfügbar ist, möchte ich eine für den persönlichen Gebrauch erstellen.

Normalerweise stellt das Telefon eine Verbindung zum Gerät her und tauscht Daten aus. Ich habe den PC mit dem Gerät verbunden und in den seriellen Debugger geschaut und das Protokoll gefunden (nur in eine Richtung). Das Telefon sendet nur einen Befehl an das Gerät. Aber dieses Mal kann ich nicht herausfinden, was es enthält.

Gibt es eine Software, mit der ich über Bluetooth gesendete Daten einsehen kann? Ich habe versucht, die App zu dekompilieren, aber sie sieht wirklich unfreundlich aus.

Vielen Dank.

66
peku33

Android 4.4 (Kit Kat) hat eine neue Schnüffelfunktion für Bluetooth. Sie sollten es versuchen.

Wenn Sie jedoch kein Schnüffelgerät besitzen, haben Sie nicht unbedingt Pech. In vielen Fällen können wir mit einer neuen Funktion, die in Android 4.4) eingeführt wurde, positive Ergebnisse erzielen: Die Fähigkeit, alle Bluetooth-HCI-Pakete zu erfassen und in einer Datei zu speichern.

Wenn der Analyst die Erfassungsdatei durch Ausführen der zu testenden Anwendung ausgefüllt hat, kann er die von Android) generierte Datei in den externen Speicher des Geräts ziehen und sie analysieren (mit Wireshark , zum Beispiel).

Sobald diese Einstellung aktiviert ist, speichert Android die Paketerfassung in /sdcard/btsnoop_hci.log, um vom Analysten abgerufen und überprüft zu werden.

Geben Sie Folgendes ein, falls /sdcard/ ist auf Ihrem Gerät nicht der richtige Pfad:

adb Shell echo \$EXTERNAL_STORAGE

Wir können dann eine Shell öffnen und die Datei abrufen: $ adb pull /sdcard/btsnoop_hci.log und sie mit Wireshark untersuchen, genau wie eine PCAP, die beispielsweise durch Aufspüren von WiFi-Datenverkehr erstellt wurde. Sie ist also sehr einfach und gut unterstützt:

screenshot of wireshark capture using Android HCI Snoop

[Quelle]

Sie können dies aktivieren, indem Sie zu Einstellungen-> Entwickleroptionen gehen und dann das Kontrollkästchen neben "Bluetooth HCI Snoop-Protokoll" aktivieren.

78

Dies kann auch dazu beitragen, den tatsächlichen Speicherort der Datei btsnoop_hci.log zu ermitteln:

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