
BLE
该部分主要分享一下常用的蓝牙调试工具,方便后续蓝牙抓包及分析。
- 3.1、hciconfig
- 3.2、hcitool
- 3.3、hcidump
- 3.4、hciattach
- 3.5、btmon
- 3.6、bluetoothd
- 3.7、bluetoothctl
1
hciconfig
工具介绍 : hciconfig , HCI 设备配置工具
命令格式 : hciconfig 、 hciconfig [-a] hciX [command ...]
详细命令如下 :
只介绍几种常用命令
- 帮助信息 : hciconfig -h

- 查看设备详细信息 : hciconfig -a hci0 或者 hciconfig

- 打开/关闭/重置 hci 设备 : hciconfig hci0 up/down/reset
- 认证打开/关闭 : hciconfig hci0 auth/noauth ,直接体现在进行蓝牙连接时,是否输入连接PIN密码,用于PIN配对
- 查看/改变蓝牙主从状态 : hciconfig hci0 lm 、 hciconfig hci0 lm slave
- 查看/设置蓝牙名称 : hciconfig hci0 name 、 hciconfig hci0 name Donge
- 开启/关闭广播 : hciconfig hci0 leadv/ noleadv
- 查看支持的链路层状态 : hciconfig hci0 lestates

hciconfig 详细介绍参考:https://blog.51cto.com/dongyulong/442289
2
hcitool
工具介绍 : hcitool ,HCI 设备管理工具
命令格式 : hcitool [options] <command> [command parameters]
详细命令如下 :
只介绍几种常用命令
- 帮助信息 : hcitool --help

- 查看 HCI 设备信息 : hcitool dev
- 发现周围蓝牙设备 : hcitool -i hci0 inq
- 蓝牙扫描 : hcitool -i hci0 inq
- 查看探查到的蓝牙信息 : hcitool -i hci0 name 88:A9:B7:E6:F1:8F
- 发送CMD蓝牙命令 : hcitool cmd --help
这个命令非常好用,它允许我们不用写代码就可以发送自己想发的任何HCI命令,我们先看下帮助信息

- 创建/删除蓝牙连接 : hcitool -i hci0 cc/dc --ptype=dm1,dh3,dh5 01:02:03:04:05:06
- 扫描附近BLE蓝牙设备 : hcitool -i hci0 lescan
- 连接/断开BLE设备 : hcitool -i hci0 lecc/ledc 12:34:56:C2:9C:C7
参考连接:https://blog.csdn.net/u010764600/article/details/119684001
3
hcidump
工具介绍 : hcidump , HCI sniffer ,蓝牙包的分析工具, hcidump 读取发送和接受蓝牙设备的原始 hci 数据,并按照人可以识别的命令、事件、数据格式打印到屏幕上,转储信息还可以保存到一个当地文件中,从而保证转储文件在后续进行解析。
命令格式 : hcidump [OPTION...] [filter]
详细命令如下 :
只介绍几种常用命令
- 帮助信息 : hcidump -h

- 仿真设备选定 : hcidump -i hci0
- 导出文件 : hcidump -i hci0 -w bt_debug.cfa
- 选定格式 : hcidump -i hci0 -X
- 显示时间 : hcidump -i hci0 -t
- 常用命令 : hcidump -i hci0 -Xt -w bt_debug.cfa & ,以 Asicc 、 Hex 打印,并且添加时间戳,转存到 bt_debug.cfa 文件中
该命令,可以将HCI传输的数据包记录到文件内,通过 Windows 的 ViewCfa 应用可以详细查看每个包的数据。
4
hciattach
工具介绍 : hciattach ,该工具通过 UART HCI 将串行设备连接到 BlueZ 协议栈,作为HCI传数接口。
命令格式 : hciattach [-n] [-p] [-t timeout] tty type| id speed flow bdaddr
详细命令如下 :
只介绍几种常用命令
- 帮助信息 : hciattach

- -n :不脱离控制终端
- -p :当脱离控制终端时,打印PID信息
- -t :设置超时时间
- tty :指定绑定的串口设备, /dev 可以省略掉
- type|id :蓝牙设备的类型或id,例如 vendor 或者设备指定的标识
- any :不指定 HCI_UART 接口
- ericsson :爱立信基础模块
- -s : speed 串口波特率设置
- flow :表示硬件流控制; noflow :表示不进行流控制
- bdaddr :蓝牙设备地址,如果指定了该参数,则地址将用于初始化设备。否则,将使用默认地址。
使用案例 : rtk_hciattach -n -s 115200 ttyS0 rtk_h5 &
5
btmon
工具介绍 : btmon ,该工具用于监控蓝牙数据
命令格式 : btmon ,该工具用于监控蓝牙数据`
详细命令如下 :
只介绍几种常用命令
- 帮助信息 : btmon -h

- -w :将数据写入文件 xxx.log 中,== 该文件最好为未存在的文件,否则可能会有问题 ==
- -T :显示时间和日期
- -s :开始监控的socket
- -r : -w 写入的文件,仅支持 btmon -r xxx.log 读取
- -i :监控的控制设备,一般为 hci0
- 常用命令 : btmon -i hci0 -w btmon_debug.log & 、 btmon -r btmon_debug.log
上面的命令,通过 -w 写入文件, -r 读出文件,只能该工具读出
扩展: btmon -r btmon_debug.log > 1.txt 将读出的转为 txt 文件,方便文本查看:)
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
点击这里找小助理0元领取:嵌入式物联网学习资料(头条)


6
bluetoothd
工具介绍 : bluetoothd ,调试工具
命令格式 : bluetoothd [OPTION?]
详细命令如下 :
只介绍几种常用命令
- 帮助信息 : bluetoothd -h

- -d :使能 DEBUG 调试
- -C :提供过时的命令
- -n :运行程序时,前台打印 LOG 信息
示例 : bluetoothd -C -n &
7
bluetoothctl
工具介绍 : bluetoothctl ,调试工具
命令格式 : bluetoothctl [command]
详细命令如下 :
只介绍几种常用命令
- 帮助信息 : bluetoothd help

- bluetoothctl :进入命令行模式
- list :查看控制器信息
- show :查看详细控制器信息
- paired-devices :显示配对的设备
- power on :上电控制器
- advertise on :开启广播
- scan on/off :开启/关闭扫描
- version :版本信息
- exit/quit :退出
至此,上面是 Bluetooth 调试所需要的一些工具的简单介绍,大家可以进行尝试!
文章链接:https://mp.weixin.qq.com/s/qlXLPAFTDCvva6pEaYkK_A
转载自一口Linux
文章来源:常用蓝牙调试工具【集合汇总】
版权申明:本文来源于网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。