当前位置: 首页 > news >正文

蓝牙调试工具集合汇总

BLE

该部分主要分享一下常用的蓝牙调试工具,方便后续蓝牙抓包及分析。

目录

1 hciconfig

2 hcitool

3 hcidump

4 hciattach

5 btmon

6 bluetoothd

7 bluetoothctl


1 hciconfig

工具介绍hciconfigHCI 设备配置工具

命令格式hciconfighciconfig [-a] hciX [command ...]

详细命令如下

只介绍几种常用命令

  • 帮助信息hciconfig -h

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

  • 打开/关闭/重置hci设备hciconfig hci0 up/down/reset

  • 认证打开/关闭hciconfig hci0 auth/noauth,直接体现在进行蓝牙连接时,是否输入连接PIN密码,用于PIN配对

  • 查看/改变蓝牙主从状态hciconfig hci0 lmhciconfig hci0 lm slave

  • 查看/设置蓝牙名称hciconfig hci0 namehciconfig 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

hcidump

工具介绍hcidumpHCI 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 &,以AsiccHex打印,并且添加时间戳,转存到bt_debug.cfa文件中

该命令,可以将HCI传输的数据包记录到文件内,通过WindowsViewCfa应用可以详细查看每个包的数据。

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:爱立信基础模块

  • -sspeed串口波特率设置

  • 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文件,方便文本查看:)

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调试所需要的一些工具的简单介绍,大家可以进行尝试!​

http://www.lryc.cn/news/26770.html

相关文章:

  • Java 获取文件后缀名【一文总结所有方法】
  • UML常见图的总结
  • WebRTC系列-工具系列之音频相关工具
  • 7 线性回归及Python实现
  • 适合小团队协作、任务管理、计划和进度跟踪的项目任务管理工具有哪些?
  • 从100%进口到自主可控,从600块降到10块,中科院攻克重要芯片
  • 关于git的一些基本点总结
  • PyTorch保姆级安装教程
  • MySQL 上亿大表如何优化?
  • Git(狂神课堂笔记)
  • 「2」指针进阶,最详细指针和数组难题解题思路
  • 云服务器是做什么的?云服务器典型的应用场景介绍
  • 【论文随笔】Transfer of temporal logic formulas in reinforcement learning
  • 蓝桥杯-货物摆放
  • 10 种顶流聚类算法 Python 实现(附完整代码)
  • 微信小程序第一节 —— 自定义顶部、底部导航栏以及获取胶囊体位置信息。
  • 快速吃透π型滤波电路-LC-RC滤波器
  • 聊聊混沌工程
  • 做为骨干网络的分类模型的预训代码安装配置简单记录
  • 网络协议(九):应用层(域名、DNS、DHCP)
  • 有趣的小知识(三)提升网站速度的秘诀:掌握缓存基础,让你的网站秒开
  • SpringCloud之服务拆分和实现远程调用案例
  • mybatis: Invalid bound statement (not found): com.atguigu.dao.UserDao.save
  • JavaScript 代码规范
  • 6综合项目 旅游网 【6.我的收藏和收藏排行榜】
  • openpnp - error - 微调mark点坐标后,更新板子其他原件其他坐标报错的变通方法
  • 借助ChatGPT爆火,股价暴涨又暴跌后,C3.ai仍面临巨大风险
  • 蓝桥杯-数位排序
  • 【ES实战】ES 插件包离线安装(本地文件)
  • Spring的核心基础——IOC与DI