首页 > 其他分享 >蓝牙调试工具集合汇总

蓝牙调试工具集合汇总

时间:2023-03-02 16:02:35浏览次数:42  
标签:命令 btmon 蓝牙 hciconfig 汇总 hcitool hci0 调试


 

蓝牙调试工具集合汇总_嵌入式linux

BLE

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

1 hciconfig

工具介绍:​​hciconfig​​,​​HCI​​ 设备配置工具

命令格式:​​hciconfig​​、​​hciconfig [-a] hciX [command ...]​

详细命令如下

只介绍几种常用命令

  • 帮助信息hciconfig -h

蓝牙调试工具集合汇总_嵌入式linux_02


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

蓝牙调试工具集合汇总_嵌入式linux_03


  • 打开/关闭/重置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

蓝牙调试工具集合汇总_嵌入式linux_04

蓝牙调试工具集合汇总_嵌入式linux_05

​hciconfig​​详细介绍参考:https://blog.51cto.com/dongyulong/442289

2 hcitool

工具介绍:​​hcitool​​,HCI 设备管理工具

命令格式:​​hcitool [options] <command> [command parameters]​

详细命令如下

只介绍几种常用命令

  • 帮助信息hcitool --help

蓝牙调试工具集合汇总_嵌入式linux_06

蓝牙调试工具集合汇总_嵌入式linux_07

  • 查看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命令,我们先看下帮助信息

蓝牙调试工具集合汇总_嵌入式linux_08

​​

  • 创建/删除蓝牙连接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

蓝牙调试工具集合汇总_嵌入式linux_09

蓝牙调试工具集合汇总_嵌入式linux_10

  • 仿真设备选定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传输的数据包记录到文件内,通过​​Windows​​的​​ViewCfa​​应用可以详细查看每个包的数据。

4 hciattach

工具介绍:​​hciattach​​,该工具通过​​UART HCI​​将串行设备连接到​​BlueZ​​协议栈,作为HCI传数接口。

命令格式:​​hciattach [-n] [-p] [-t timeout] tty type| id speed flow bdaddr​

详细命令如下

只介绍几种常用命令

  • 帮助信息hciattach

蓝牙调试工具集合汇总_嵌入式linux_11

蓝牙调试工具集合汇总_嵌入式linux_12

  • ​-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

蓝牙调试工具集合汇总_嵌入式linux_13

蓝牙调试工具集合汇总_嵌入式linux_14

  • ​-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

蓝牙调试工具集合汇总_嵌入式linux_15

蓝牙调试工具集合汇总_嵌入式linux_16

  • ​-d​​:使能DEBUG调试
  • ​-C​​:提供过时的命令
  • ​-n​​:运行程序时,前台打印LOG信息

示例:​​bluetoothd -C -n &​

7 bluetoothctl

工具介绍:​​bluetoothctl​​,调试工具

命令格式:​​bluetoothctl [command]​

详细命令如下

只介绍几种常用命令

  • 帮助信息bluetoothd help

蓝牙调试工具集合汇总_嵌入式linux_17

蓝牙调试工具集合汇总_嵌入式linux_18

  • ​bluetoothctl​​:进入命令行模式
  • ​list​​:查看控制器信息
  • ​show​​:查看详细控制器信息
  • ​paired-devices​​:显示配对的设备
  • ​power on​​:上电控制器
  • ​advertise on​​:开启广播
  • ​scan on/off​​:开启/关闭扫描
  • ​version​​:版本信息
  • ​exit/quit​​:退出

至此,上面是​​Bluetooth​​调试所需要的一些工具的简单介绍,大家可以进行尝试!​


标签:命令,btmon,蓝牙,hciconfig,汇总,hcitool,hci0,调试
From: https://blog.51cto.com/u_11947739/6095535

相关文章

  • react-native webView网页调试之setWebContentsDebuggingEnabled使用
    Android使用方法首先,我们需要在应用程序中调用WebView.setWebContentsDebuggingEnabled(true);文件位置:在MainActivity.java的onCreate方法内(在android/app/src/ma......
  • Android面试题汇总
    1.面试题:知道Service吗,它有几种启动方式?Service是一个专门在后台处理长时间任务的Android组件,它没有UI。它有两种启动方式,startService和bindService。startService只是......
  • 移动端开发调试入门
    目录基础概念原理调试技巧一、基础概念1WebView(1)定义WebView,直译是网页视图,是一个基于webkit内核的,用于显示网页的控件,具备渲染Web页面的功能。Android的......
  • 【C#】Color使用汇总
    一、自定义颜色this.BackColor=Color.FromArgb(255,255,255);//红、绿、蓝 应用于Pen、Brush、SolidBrush等:privatePenCustomizePenColor=newPen(Color.F......
  • Goland断点调试一直进gopark
    现象使用Goland断点调试一直进gopark分析直接运行调试,不打断点,会有一个warning:undefinedbehavior-versionofDelveistoooldforGoversion1.20.0(maximu......
  • 液位计也蓝牙了
    液位计是一种集液位检测、数据采集和传输功能于一体的液位监测专用仪器,主要应用于监测容器内液体和自然环境中液体液位的实时数据。植入蓝牙模块,使之无线化,可以在液位计完成......
  • 限流算法汇总
    计数器算法:原理:在指定时间周期内累加访问次数,达到设定的阈值时,触发限流策略。下一个时间周期进行访问时,访问次数清零。实现:此算法无论是在单机还是分布式环境下......
  • 05反调试
    一.如何检测是否在调试1.键盘监听2.检测浏览内外的高度差值3.检测开发者人员工具变量是否为true4.利用console5.利用代码运行时间差6.利用toString7.检测栈的层数c......
  • pat乙级:模拟链表问题(汇总,包含所有pat中链表题目分析)
    更新:优化文章结构,增加了部分内容如(1110区块反转)和自己代码和他人代码分析。看完你就懂了转载请注明出处和链接地址:(https://www.cnblogs.com/ahappyfool/p/17156470.htm......
  • 嵌入式入门必看!调试工具安装——基于 AM64x核心板
    本章节内容是为评估板串口安装USB转串口驱动程序。驱动适用于CH340、CH341等USB转串口芯片。USB转串口驱动安装适用安装环境:Windows764bit、Windows1064bit。本文测......