清泛IT社区

标题: BLE(五)移动端工具 [打印本页]

作者: App Inventor 2     时间: 2024-02-05 11:25
标题: BLE(五)移动端工具
文章源自:https://www.gandalf.site/2018/12/ble.html

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日志基本一样,源码如下:
https://android.googlesource.com/platform/external/bluetooth/bluez/+/android-4.1.2_r1
hcidump抓取 log :
0x2 扫描器在移动平台上都有一些通用的BLE扫描工具,如LightBlue和nRF Connect,二者功能相似,都有Android和iOS版本。
0x21 LightBlueLightBlue使用简单,打开蓝牙和app,即自动扫描蓝牙设备,未连接之前,大部分设备都是Unnamed和No services,选择其中一个会尝试连接,连接成功后即可获取蓝牙设备的设备信息、UUID、服务等信息了,选择其中一个服务,还可以尝试对其读写数据:

0x22 nRF ConnectnRF Connect的使用方式和LightBlue基本一致,优点在于对设备服务信息展示更为直观:







欢迎光临 清泛IT社区 (https://bbs.tsingfun.com/) Powered by Discuz! X3.3