蓝牙调试工具集合汇总

news2024/11/14 23:29:07

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.coloradmin.cn/o/382122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

金融行业数据模型

一、Teradata FS-LDM Teradata 公司基于金融业务发布的FS-LDM&#xff08;Financial Servies Logical Data Model&#xff09; 十大主题&#xff1a;当事人、产品、协议、事件、资产、财务、机构、地域、营销、渠道。 1、当事人&#xff08;Party&#xff09; 银行所服务的任…

学习.NET MAUI Blazor(七)、实现一个真正的ChatGPT聊天应用

今天在新闻上看到一条消息&#xff0c;OpenAI已经开放了ChatGPT的接口&#xff0c;也就是GPT-3.5&#xff0c;对比原来的GPT-3&#xff0c;增加了gpt-3.5-turbo、gpt-3.5-turbo-0301两个模型。 gpt-3.5-turbo&#xff1a;使用最新的GPT-3.5模型&#xff0c;并针对聊天进行了优…

和风SDK查询城市ID(保姆级教程)

android studio版本&#xff1a;2021.2.1例程名&#xff1a;hfserachcityid这几天没什么事做&#xff0c;而且我原来那个“项目”因为免费api不能用了&#xff0c;只能改为和风的免费api,但需要申请&#xff0c;而且还要城市ID&#xff0c;玩天气的基本都知道城市ID这个东西&am…

公司章程包括了哪些内容

一、公司章程包括了哪些内容 《中华人民共和国公司法》第11条规定&#xff1a;“设立公司必须依法制定公司章程。公司章程对公司、股东、董事、监事、高级管理人员具有约束力。”明确地强调了公司章程对于公司的重要性&#xff0c;公司章程对于公司而言不但是股东合意达成的协…

葵花8号卫星数据简介与下载笔记

1、葵花8号卫星数据简介JMA于2015年7月7日开始运营Himawari-8&#xff0c;以取代MTSAT-2&#xff08;也称为Himawari-7&#xff09;。 Himawari-9号卫星于2017年3月10日开始后备运行。两颗卫星都位于向东约140.7度的轨道上&#xff0c;并将观测东亚和西太平洋区域15年。 源自Hi…

【项目实战】IDEA常用快捷键汇总

一、修改为Eclipse的快捷键 相信很多朋友跟我一样&#xff0c; 都是习惯了eclipse的快捷键&#xff0c;没错&#xff0c;习惯这东西真的很难改&#xff01;IDEA非常强大&#xff0c;支持我们修改IDEA中的keymap为Eclipse的快捷键&#xff01;友好又贴心&#xff0c;有没有&…

大数据框架之Hadoop:MapReduce(四)Hadoop数据压缩

4.1概述 1、压缩概述 压缩技术能够有效减少底层存储系统&#xff08;HDFS&#xff09;读写字节数。压缩提高了网络带宽和磁盘空间的效率。在运行MR程序时&#xff0c;IO操作、网络数据传输、shuffle和Merge要花大量的时间&#xff0c;尤其是数据规模很大和工作负载密集的情况…

3月2日第壹简报,星期四,农历二月十一

3月2日第壹简报&#xff0c;星期四&#xff0c;农历二月十一坚持阅读&#xff0c;静待花开1. 第三次延期&#xff01;财政部&#xff1a;对于购置期在2023年的新能源汽车继续免征车辆购置税。2. 我国2月份制造业PMI为52.6% &#xff0c;创2012年4月以来新高。3. 全国地级市财力…

深入浅出消息队列MSMQ

消息队列MSMQ&#xff0c;相信稍有开发经验的小伙伴都了解一些。开始讲解之前&#xff0c;我们先弄清楚一件事&#xff0c;为什么我们要使用MSMQ&#xff1a; 您可能认为您能够通过一个简单的数据库表(一个应用程序往其中写入数据&#xff0c;另一个应用程序从中读取数据)来应用…

采编式AIGC视频生产流程编排实践

作者 | 百度人工智能创作团队 导读 本文从业务出发&#xff0c;系统介绍了采编式 TTV的实现逻辑和实现路径。结合业务拆解&#xff0c;实现了一个轻量级服务编排引擎&#xff0c;有效实现业务诉求、高效支持业务扩展。 全文6451字&#xff0c;预计阅读时间17分钟。 01 背景 近…

WebRTC之RTP封装与解封装

1 前言rtp_rtcp模块作为Webrtc组件中非常重要的组成部分&#xff0c;首先是对应rtp和rtcp的封装与解封装&#xff0c;第二部分是对QOS各种策略的支持都离不开rtcp的控制协议。这里首先进行协议封装的探讨。2 RTP协议解析各个音视频的大佬对下面这张RTP协议图应该并不陌生&#…

ChatGPT到底是个啥?简析ChatGPT!

目录 ​编辑 1. ChatGPT到底是个啥&#xff1f; 1.1. 简介 1.2 玩法 1.2.1.生成公司理念、生成广告标语 1.2.2.写小说写故事写情书 1.2.3.生成自媒体文案 1.2.4.写代码 2.简析ChatGPT 2.1.ChatGPT核心能力 2.2.ChatGPT进化史 2.2.1.历史沿革 2.2.2.算法 2.3.ChatGPT特…

k8s学习之路 | Pod 基础

文章目录Pod 基础认知什么是 PodPod 的示例 yamlPod 的形式Pod 的多容器协同Pod 的生命周期容器的类型应用容器初始化容器临时容器静态 Pod什么是静态 Pod静态 Pod 位置Pod 探针机制探针类型Probe 配置项探针案例Pod 基础认知 什么是 Pod https://kubernetes.io/zh-cn/docs/c…

Word处理控件Aspose.Words功能演示:使用 Java 合并 MS Word 文档

Aspose.Words 是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。此外&#xff0c; Aspose API支持流行文件格式处…

Overlay网络技术

大家好&#xff0c;我是技福的小咖老师。 Overlay网络是通过网络虚拟化技术&#xff0c;在同一张Underlay网络上构建出的一张或者多张虚拟的逻辑网络。不同的Overlay网络虽然共享Underlay网络中的设备和线路&#xff0c;但是Overlay网络中的业务与Underlay网络中的物理组网和互…

aardio - 【库】简单信息框

昨晚得知aardio作者一鹤的妻子病情严重&#xff0c;深感悲痛。今日给一鹤捐赠少许&#xff0c;望其妻能挺过难关&#xff0c;早日康复。 aardio是一个很好的编程工具&#xff0c;我非常喜欢&#xff0c;这两年也一直在用。虽然未曾用其获利&#xff0c;但其灵活的语法&#xff…

操作系统真相还原——第7章 中断

中断&#xff1a;CPU 暂停正在执行的程序&#xff0c;转而去执行处理该事件的程序&#xff0c;当这段程序执行完毕后&#xff0c; CPU 继续执行刚才的程序。 通常&#xff0c;中断牺牲的是个体的时间&#xff0c;但可以实现多设备的并发&#xff0c;从而提高系统效率 操作系统…

评估Jupyter环境的安全性

评估Jupyter环境的安全性 如何判断您的 Jupyter 实例是否安全&#xff1f; NVIDIA AI 红队开发了一个 JupyterLab 扩展来自动评估 Jupyter 环境的安全性。 jupysec 是一种根据近 100 条规则评估用户环境的工具&#xff0c;这些规则检测配置和工件&#xff0c;这些配置和工件已被…

暴力递归到动态规划

暴力递归到动态规划 假设有排成一行的n个位置&#xff0c; 记为1~n&#xff0c;n-定大于或等于2。开始时机器人在其中的m位置上(m 一定是1~n中的一个)。如果机器人来到1位置&#xff0c;那么下一步只能往右来到2位置&#xff1b;如果机器人来到n位置&#xff0c; 那么下一步只能…

js中splice方法和slice方法

splice方法用来操作数组splice(startIndex,deleteNum,item1,....,)此操作会改变原数组。删除数组中元素参数解释&#xff1a;startIndex为起始index索引。deleteNum为从startIndex索引位置开始需要删除的个数。分三种情况&#xff1a;没有传第三个参数的情况下&#xff0c;dele…