BLE(五)移动端工具
0x1 Android手机抓取app蓝牙数据
0x11 Android蓝牙HCI日志
在部分Android机型为开发人员提供了保存蓝牙日志的选项,即可保存手机向设备发送的数据和设备响应的数据,打开方式如下:
开发者模式→蓝牙HCI日志
不同的平台存放HCI log的路径会不一样,MTK存放HCI log的路径为
/sdcard/mtklog/btlog/btsnoop_hci.log
,高通的存放路径为/sdcard/btsnoop_hci.log
如果上面提到的路径下都没有HCI log,还可以通过手机上的蓝牙配置文件
bt_stack.conf
来查看路径bt_stack.conf
位于/etc/bluetooth/路径下,HCI log路径通过
BtSnoopFileName=/sdcard/btsnoop_hci.log`来进行设置的
另外如果没有
bt_stack.conf
文件,设备也会在默认路径下生成日志:/data/misc/bluetooth/logs/btsnoop_hci.log
之后导出到wireshark查看即可,如图清晰的展示了蓝牙各协议栈的内容,分析时候重点关注发送的数据内容即
Handle
、uuid
、Value
等值即可0x12 Bluez调试工具hcidump
虽然Android 4.2已经将蓝牙协议栈替换为Bluedroid,但仍可使用BlueZ调试工具(需自行编译,或网上下载),且hcidump输出的数据与
开发者模式
里的蓝牙HCI日志
基本一样,源码如下:
hcidump抓取 log :
- 打开蓝牙
- 用adb shell 登陆android设备 并且用
hcidump -w /sdcard/hcilog
- 开始测试
- 测试完成,停止hcidump
- 导出到wireshark分析
hcilog
文件
0x2 扫描器
在移动平台上都有一些通用的BLE扫描工具,如
LightBlue
和nRF Connect
,二者功能相似,都有Android和iOS版本。0x21 LightBlue
LightBlue
使用简单,打开蓝牙和app,即自动扫描蓝牙设备,未连接之前,大部分设备都是Unnamed
和No services
,选择其中一个会尝试连接,连接成功后即可获取蓝牙设备的设备信息、UUID、服务等信息了,选择其中一个服务,还可以尝试对其读写数据:
0 评论:
发表评论