时时勤拂拭,勿使惹尘埃

TOC

Categories

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查看即可,如图清晰的展示了蓝牙各协议栈的内容,分析时候重点关注发送的数据内容即HandleuuidValue等值即可

0x12 Bluez调试工具hcidump

虽然Android 4.2已经将蓝牙协议栈替换为Bluedroid,但仍可使用BlueZ调试工具(需自行编译,或网上下载),且hcidump输出的数据与开发者模式里的蓝牙HCI日志基本一样,源码如下:
hcidump抓取 log :
  • 打开蓝牙
  • 用adb shell 登陆android设备 并且用 hcidump -w /sdcard/hcilog
  • 开始测试
  • 测试完成,停止hcidump
  • 导出到wireshark分析 hcilog 文件

0x2 扫描器

在移动平台上都有一些通用的BLE扫描工具,如LightBluenRF Connect,二者功能相似,都有Android和iOS版本。

0x21 LightBlue

LightBlue使用简单,打开蓝牙和app,即自动扫描蓝牙设备,未连接之前,大部分设备都是UnnamedNo services,选择其中一个会尝试连接,连接成功后即可获取蓝牙设备的设备信息、UUID、服务等信息了,选择其中一个服务,还可以尝试对其读写数据:

0x22 nRF Connect

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

0 评论:

发表评论