1、打开 Android 手机的开发人员选项中的【开启蓝牙 HCI 信息收集日志】
2、让你的 Android 手机与蓝牙设备正常通讯,现在日志就会写到你的 bt_stack_log.conf 中指明的日志文件里了。
(1)adb shell
(2)cat /etc/bluetooth/bt_stack.conf 找到“BtSnoop log output file”所指向的位置“BtSnoopFIleName=/sdcard/Android/data/btsnoop_hci.log”(Snoop是调查的意思)
注意:每个手机的日志存放文件基本都不一样,依配置文件而定。
/system/etc/bluetooth 目录等价于 /etc/bluetooth
另外,记录的日志级别可按需求手动修改。
# Enable BtSnoop logging function
# valid value : true, false
BtSnoopLogOutput=true
# BtSnoop log output file
BtSnoopFileName=/sdcard/Android/data/btsnoop_hci.log
# Preserve existing BtSnoop log before overwriting
BtSnoopSaveLog=true
# Enable trace level reconfiguration function
# Must be present before any TRC_ trace level settings
TraceConf=true
# Trace level configuration
# BT_TRACE_LEVEL_NONE 0 ( No trace messages to be generated )
# BT_TRACE_LEVEL_ERROR 1 ( Error condition trace messages )
# BT_TRACE_LEVEL_WARNING 2 ( Warning condition trace messages )
# BT_TRACE_LEVEL_API 3 ( API traces )
# BT_TRACE_LEVEL_EVENT 4 ( Debug messages for events )
# BT_TRACE_LEVEL_DEBUG 5 ( Full debug messages )
# BT_TRACE_LEVEL_VERBOSE 6 ( Verbose messages ) - Currently supported for TRC_BTAPP only.
TRC_BTM=3
TRC_HCI=2
TRC_L2CAP=4
TRC_RFCOMM=2
TRC_OBEX=2
TRC_AVCT=2
TRC_AVDT=2
TRC_AVRC=2
TRC_AVDT_SCB=2
TRC_AVDT_CCB=2
TRC_A2D=2
TRC_SDP=4
TRC_GATT=2
TRC_SMP=2
TRC_BTAPP=4
TRC_BTIF=4
TRC_GAP=4
TRC_BNEP=2
TRC_PAN=2
TRC_PROTOCOL=3
3、提取日志文件到桌面 adb pull /sdcard/Android/data/btsnoop_hci.log C:/Users/Administrator/Desktop
如果修改了配置文件中的日志路径,需要重新开启蓝牙,才会生成该日志文件
4、安装 WireShark 抓包工具,然后用它打开相应的日志文件,然后就可以看到抓取到的数据包的内容了。
注意:记事本直接打开或者用HexViewer方式打开均无法看到里面的明文内容。