I am attempting to analyze the Bluetooth communication between a fitness tracker (GOJI ACTIVE GFITBK20 Activity Tracker) and its corresponding application (Goji Active) installed on my Android phone. My goal is to capture and analyze the health data (e.g., heart rate, calories, sleep, distance, sleep hours) transmitted over Bluetooth.
Here are the steps I've taken so far:
Enabled Developer Options and Bluetooth HCI Snoop Log: Enabled "Developer options" on my Android phone. Enabled "Enable Bluetooth HCI snoop log" to gather Bluetooth logs.
Captured Bluetooth Logs: Disabled and re-enabled Bluetooth on my phone. Ran the fitness tracker app and ensured it was actively communicating with the tracker. Connected the Android phone to my laptop and generated a bug report using the following ADB command, adb bugreport bluetooth
Analyzed Logs with Wireshark: Used Wireshark to analyze the btsnoop_hci.log file extracted from the bug report.
Despite these steps, I am unable to see any health information such as heart rate, calories, sleep, distance, sleep hours, etc., from the Bluetooth traffic captured.
Questions:
- Is the method I used (enabling HCI snoop log and analyzing with Wireshark) the correct way to capture and analyze Bluetooth traffic for this purpose? If not, what should I be doing differently?
- Should I consider passive sniffing instead of the method I used? If so, how can I set up passive sniffing for Bluetooth LE traffic? I have a Parrot OS connected to the laptop via USB and a TP-Link Nano 5.0 Bluetooth adapter. Can I use this setup to perform passive sniffing? How do I configure and use tools like hcitool on Parrot OS to capture Bluetooth traffic?
- I also extracted the APK of the Goji Active app using tools like apktool. What patterns or keywords or file should I search for within the APK to understand how the app handles Bluetooth communication and encryption? Is it the correct way to find on what encryption they perform on the data?
Any guidance or recommendations on how to proceed with capturing and analyzing the Bluetooth traffic to understand the encryption and extract the health data would be greatly appreciated.