Setup
Enable USB debugging
Connect your Android phone to your computer via USB and ensure USB debugging is enabled in Developer Settings.
Verify ADB connection
Check that your device is recognized:You should see your device listed in the output.
Root/sudo access is required to run Wireshark with the Android Bluetooth capture interface.
Filtering for GATT Packets
Once capturing, you’ll see all Bluetooth activity. To focus on the relevant GATT communication:-
Apply the
btattfilter in Wireshark’s filter bar: -
This filters for Bluetooth Attribute Protocol packets only, showing:
- Characteristic writes to the device
- Notifications from the device
- Read/write responses
- Open the Whoop app and interact with features - you’ll see the corresponding packets in real-time.
Analyzing Specific Characteristics
To narrow down to specific characteristics, combine filters:CMD_TO_STRAP characteristic (handle 0x0010), which is used to send commands to the device.
Common Handles
| Handle | Characteristic | Direction | Purpose |
|---|---|---|---|
| 0x0010 | CMD_TO_STRAP | Write | Commands sent to device |
| 0x0012 | CMD_FROM_STRAP | Notify | Command responses |
| 0x0015 | EVENTS_FROM_STRAP | Notify | Event notifications |
| 0x0018 | DATA_FROM_STRAP | Notify | Sensor data stream |
Example: Opening the App
When you open the Whoop app, Wireshark reveals the following sequence:-
App writes to
CMD_TO_STRAP(handle 0x0010): -
Device responds with one notification on
CMD_FROM_STRAP -
Multiple notifications arrive on
DATA_FROM_STRAPcontaining sensor data
Alternative: Extracting HCI Logs
For post-capture analysis, you can extract Bluetooth HCI logs from an Android device:The bugreport method is useful for analyzing extended sessions, but live capture with Wireshark provides immediate feedback during reverse engineering.
Tips
- Use “Follow > Bluetooth ATT Stream” to see all packets in a conversation
- Right-click packets and select “Copy > as Hex Stream” to extract raw bytes
- Apply display filters like
btatt && !btatt.opcode == 0x1bto exclude ATT acknowledgments - Use the packet details pane to inspect header structure and CRC checksums