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

Wireshark蓝牙协议抓包实战:从环境搭建到数据解析

1. 环境准备硬件与软件双管齐下搞蓝牙协议分析就像侦探破案没有趁手的工具可不行。我去年调试智能手环时就因为没配好环境浪费了两天时间。咱们先从必备装备说起硬件三件套缺一不可nRF52840 Dongle这玩意儿相当于蓝牙监听器建议买正版某宝约200元盗版容易驱动失灵。我吃过亏某次用山寨货抓包全是乱码USB延长线直接插电脑可能干扰严重实测用带磁环的线缆能减少30%的误码待测设备最好准备两个BLE设备比如手机智能手环方便模拟连接场景软件方面需要这三个关键组件Wireshark 4.0新版对BLE支持更好但注意避开4.1.2那个有内存泄漏的版本Python 3.7-3.93.10以上会有库兼容问题我电脑里专门留着3.8.6的绿色版nRF Sniffer固件一定要和Dongle硬件版本匹配下错会导致无法识别注意所有安装路径不要有中文和空格我见过太多人因为桌面\新建文件夹这种路径导致插件加载失败2. 软件安装避坑指南2.1 Wireshark定制安装双击安装包时这几个选项必须特别注意USB Capture不勾这个后面抓不到硬件接口Install Npcap in WinPcap API-compatible Mode老项目兼容必备自定义安装路径建议直接C:\Wireshark省去后续权限问题装完后别急着打开先做这两步右键快捷方式属性→兼容性→勾选以管理员身份运行进入安装目录给extcap文件夹添加Everyone读写权限2.2 Python环境配置新手最容易栽在环境变量上。推荐这样操作# 验证安装成功的正确姿势 python --version # 应该显示3.7.x或3.8.x pip list # 查看已有包确保没有冲突遇到pip安装慢的问题可以创建pip.ini文件[global] index-url https://mirrors.aliyun.com/pypi/simple/ trusted-host mirrors.aliyun.com2.3 嗅探插件部署把下载的nrf_sniffer_for_bluetooth_le_4.1.1.zip解压后将extcap下的四个文件复制到Wireshark\extcap整个Profile_nRF_Sniffer_Bluetooth_LE文件夹扔到profiles关键一步在extcap目录打开CMD执行pip install -r requirements.txt --user如果报错提示pyserial版本问题试试pip install pyserial3.4 --force-reinstall3. 实战抓包技巧3.1 设备识别与启动正确的操作顺序很重要先插入Dongle等设备管理器出现CP210x端口再开Wireshark接口列表会出现nRF Sniffer选项双击接口名称这时Dongle的LED会开始快闪如果找不到接口检查设备管理器是否有黄色感叹号尝试换USB口USB3.0蓝色接口有时兼容性差重启Wireshark时用管理员权限3.2 过滤广播包蓝牙设备未连接时用这个过滤条件抓广播btle.advertising_header.type 0x00我常用的显示过滤栏配置btle.advertising_header.type区分广播类型btle.data.advertising_data.type查看厂商数据frame.time_delta分析广播间隔稳定性3.3 连接过程分析建立连接时的关键帧CONNECT_IND主设备发出的连接请求LL_VERSION_IND协商协议版本LL_FEATURE_REQ特性交换ATT_MTU_REQ传输单元大小协商用这个过滤条件专注连接过程btle.control_opcode 0x01 || btle.control_opcode 0x034. 数据解析实战4.1 解码厂商自定义数据遇到加密的厂商数据时在协议树展开Bluetooth ATT→Attribute Value右键选择Decode As...添加新解析器指向自定义Lua脚本比如解析小米手环数据local mi_band_protocol Proto(MiBand, Xiaomi Mi Band Protocol) local fields { header ProtoField.uint8(miband.header, Header, base.HEX), length ProtoField.uint8(miband.length, Length, base.DEC) } mi_band_protocol.fields fields function mi_band_protocol.dissector(buffer, pinfo, tree) local subtree tree:add(mi_band_protocol, buffer()) subtree:add(fields.header, buffer(0,1)) subtree:add(fields.length, buffer(1,1)) end register_postdissector(mi_band_protocol)4.2 分析连接参数在LL_CONNECTION_UPDATE_REQ包中重点关注connInterval1.25ms的倍数值越大越省电connSlaveLatency从设备可跳过的连接事件supervisionTimeout超时断开时间用这个Tshark命令导出关键参数tshark -r capture.pcapng -Y btle.control_opcode 0x02 -T fields -e btle.conn_interval -e btle.conn_latency -e btle.conn_timeout4.3 信号质量评估在统计菜单选择IO GraphsY轴设为btle.rssi看信号强度波动添加过滤器btle.control_opcode 0x00专注数据包启用Smoothed模式观察趋势典型问题模式RSSI持续-90dBm距离过远或遮挡严重突发性丢包可能有WiFi信道干扰周期性波动检查天线匹配电路5. 高级调试技巧5.1 时间戳分析在视图→时间显示格式选择Seconds Since Previous Displayed Packet然后筛选连接事件btle.control_opcode 0x00统计→会话列表→蓝牙LE→查看传输间隔异常值通常对应着手机省电模式激活从设备处理延迟射频干扰事件5.2 重传问题定位用这个组合条件找重传btle.control_opcode 0x00 (btle.flags.retransmit 1 || btle.flags.more_data 1)常见原因排查表现象可能原因解决方案单方向重传天线方向性问题调整设备朝向突发密集重传WiFi同频干扰换蓝牙信道周期性重传时钟不同步更新设备固件5.3 功耗估算通过连接间隔和包长计算理论功耗导出数据包长度tshark -r capture.pcapng -Y btle.control_opcode 0x00 -T fields -e btle.length计算平均电流理论电流(mA) (Tx电流×Tx时间 Rx电流×Rx时间 休眠电流×休眠时间) / 连接间隔对比实际测量值差异超过20%需要检查射频匹配电路电源纹波软件休眠配置6. 常见问题排查上周帮同事解决的问题就很典型抓包看到设备不断发CONNECT_REQ但没响应。最后发现是手机端蓝牙协议栈bug重启后正常。这里分享几个典型case设备可见但抓不到包检查Dongle与设备距离建议3米确认设备广播信道在37/38/39尝试关闭手机蓝牙5.1的扩展广播功能抓包全是乱码重新烧写Dongle固件更换USB接口避免USB3.0干扰检查Wireshark是否加载了正确解析器连接频繁断开分析LL_TERMINATE_IND包的错误码检查连接参数是否超出设备能力用频谱仪查看2.4GHz频段干扰记得有次调试运动手环抓包发现每5分钟就有次异常的加密失败。后来发现是手环的加密密钥每5分钟刷新但手机端没及时同步。这类问题不抓包根本想不到

相关文章:

Wireshark蓝牙协议抓包实战:从环境搭建到数据解析

1. 环境准备:硬件与软件双管齐下 搞蓝牙协议分析就像侦探破案,没有趁手的工具可不行。我去年调试智能手环时,就因为没配好环境浪费了两天时间。咱们先从必备装备说起: 硬件三件套缺一不可: nRF52840 Dongle&#xff1a…...

OpenClaw开发提效指南:Qwen3.5-9B实现日志分析+异常修复建议

OpenClaw开发提效指南:Qwen3.5-9B实现日志分析异常修复建议 1. 为什么开发者需要日志分析自动化 作为一名全栈开发者,我每天要面对数十个微服务的日志文件。传统的人工排查方式就像在黑暗森林中摸索——需要反复grep关键字、比对时间戳、手动拼接调用链…...

电能质量扰动仿真:MATLAB/Simulink的奇妙之旅

Power Quality Disturbance:基于MATLAB/Simulink的各种电能质量扰动仿真模型,包括配电线路故障、感应电机启动、变压器励磁、单相/三相非线性负载等模型,可用于模拟各种电能质量扰动和分析研究。 附带一份详细的说明文档对各模型进行说明&…...

解锁商场流量密码:一次地贴定制如何让我的活动效果翻倍?

在商场运营与活动营销中,流量获取与转化始终是核心痛点——高空广告成本高、受众触达不精准,传统海报易被忽略,线上引流又面临流量碎片化、转化链路长的困境。而商场地贴作为一种低成本、高触达、强引导的户外广告物料,往往被多数…...

Unity发布京东小游戏反

从 UI 工程师到 AI 应用架构者 13 年前,我的工作是让按钮在 IE6 上对齐; 13 年后,我用 fetch-event-source 订阅大模型的“思维流”,用 OCR 解锁图片中的文字——前端,正在成为 AI 产品的第一道体验防线。 最近&#x…...

MCP服务器架构设计图首次公开:含时序一致性保障机制、跨域设备注册拓扑、双向心跳状态机(2024 Q2最新LTS版)

第一章:MCP服务器架构设计图概览与核心设计哲学MCP(Modular Control Plane)服务器并非传统单体控制平面的简单重构,而是一种以“可插拔、可观测、可演进”为根基的分布式控制面架构。其设计图呈现清晰的分层结构:底层为…...

从SVM到LSTM:我的谣言检测模型优化踩坑实录(附PHEME/微博数据集对比)

从SVM到LSTM:我的谣言检测模型优化踩坑实录 去年夏天接手社交媒体谣言检测项目时,我完全没料到这个看似标准的文本分类任务会如此充满挑战。团队最初的想法很简单:用传统机器学习方法快速搭建基线,再逐步升级到深度学习模型。但当…...

小白/程序员必看:收藏这份强化学习训练智能体的实战指南(HelloAgents实战篇)

本文介绍了如何使用强化学习训练智能体,从LLM训练流程讲起,对比了PBRFT与Agentic RL的区别,并详细阐述了Agentic RL的六大核心能力:推理、工具使用、记忆、规划、自我改进和感知。文章还介绍了HelloAgents框架如何集成强化学习库T…...

APSIM模型---农田管理优化、作物品种和株型筛选、农田固碳和温室气体排放等

随着数字农业和智慧农业的发展,基于过程的农业生产系统模型在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农田固碳和温室气体排放等领域扮演着越来越重要的作用。APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生…...

使用钉钉远程操作你的claude code露

先回顾:三次握手(建立连接)核心流程(实际版) 为了让挥手流程衔接更顺畅,咱们先快速回顾三次握手的实际核心,避免上下文脱节: 第一步(客户端→服务器)&#xf…...

我的前半生

大家好,我是李文涛。2026年,我步入了人生的不惑之年。回望来时路,快四十载光阴如白驹过隙。今天想和大家分享一下我的前半生——一个从秦岭深处走出的小镇青年,是如何一步步走到今天的。1、 在最美的地方,度过最纯真的…...

Java全栈开发工程师面试实录:从基础到高阶的深度技术探讨

Java全栈开发工程师面试实录:从基础到高阶的深度技术探讨 一、开场介绍 面试官(李工):你好,我是李工,目前在一家互联网大厂负责后端架构设计。今天来聊聊你的技术背景和项目经验。 应聘者(张伟&…...

基于贝叶斯优化的稀疏高斯过程回归(BO-SGPR)多输入单输出回归模型【MATLAB】

基于贝叶斯优化的稀疏高斯过程回归(BO-SGPR)多输入单输出回归模型【MATLAB】 在处理复杂的非线性回归、小样本学习以及带有不确定性量化的预测任务时,高斯过程回归(Gaussian Process Regression, GPR) 因其强大的理论基…...

Tun模式浏览器无法使用网络

环境Win11,v2软件表现情况打开Tun模式后发现无法连接网络,v2的dns配置保持默认。本文方法适用于打开Tun模式时,虚拟网卡可以正常创建,但是仍然无法联网的情况。在开始里搜索查看网络连接,这里是可以正常创建的。解决方…...

避坑指南:企业引入AI编程助手,选CodeGeex还是Copilot企业版?

企业级AI编程助手选型实战:CodeGeex与Copilot企业版的深度博弈 当技术决策者站在数字化转型的十字路口,选择一款适合企业长期发展的AI编程助手绝非简单的功能对比。这背后涉及数据主权、团队协作范式、技术债务管理等一系列战略考量。我们曾见证某金融科…...

AI 时代:祛魅、适应与重新定义宋

指令替换 项目需求:将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一,测试代码示例 test.c // test.c #includ…...

视觉问答(VQA)前沿进展:5大创新数据集与顶会论文精要解析

1. 视觉问答(VQA)技术现状与挑战 视觉问答(VQA)作为计算机视觉与自然语言处理的交叉领域,近年来发展迅猛。简单来说,VQA就是让计算机看懂图片内容后,回答人类提出的自然语言问题。比如给出一张…...

财税合规数字化建设与税务师事务所行业实践

随着企业监管趋严与数字化不断深入,财税合规已成为企业经营管理中的重要环节。无论是中小企业还是集团公司,都需要建立规范的财务流程,完善纳税申报机制,强化风险自查能力,以实现合法合规,稳定经营。财税合…...

VL1_四选一多路器:从RTL设计到覆盖率验证的全流程解析

1. 四选一多路器的基本概念与应用场景 四选一多路器(4-to-1 Multiplexer)是数字电路设计中最基础的组合逻辑电路之一。简单来说,它就像一个智能开关,能够根据控制信号从四个输入信号中选择一个输出。这种电路在实际项目中应用非常…...

实时行情系统设计:从协议选择到高可用架构,再到数据源选型蘸

一、核心问题及解决方案(按踩坑频率排序) 问题 1:误删他人持有锁——最基础也最易犯的漏洞 成因:释放锁时未做身份校验,直接执行 DEL 命令删除键。典型场景:服务 A 持有锁后,业务逻辑耗时超过锁…...

CET中电技术如何助光伏企业在“四可“时代抢占先机?

2026年,"十五五"规划开局之年,新能源行业正经历一场深刻的变革。从2025年5月30日136号文推动投资主体转变,到2026年1月30日114号文将"四可"能力从试点推广期正式升级为政策强制标准,分布式光伏的并网逻辑已被…...

无侵入式Allegro许可证使用数据采集方案

无侵入式Allegro许可证使用收数据方案拿这些个年我跟各种许可证打交道,从最开始的Named User整到并发许可、角色绑定,真是踩过不少坑。你要是想解决阿里云、Enovia、3DEXPERIENCE这伙软件的许可证管理问题,传统方法要么成本高,要么…...

_EMD-KPCA-LSTM 基于经验模态分解和核主成分分析的长短期记忆网络多维时间序列预测_matlab_实现基于EMD-KPCA-LSTM多维时间序列预测模型,与LSTM和EMD-LSTM进行对比

EMD-KPCA-LSTM 基于经验模态分解和核主成分分析的长短期记忆网络多维时间序列预测MATLAB代码(含LSTM、EMD-LSTM、EMD-KPCA-LSTM三个模型的对比) matlab 参考文档:基于EMD-PCA-LSTM的光伏功率预测模型 研究内容:本案例使用数据集是…...

2.76亿|国网浙江电力 2026 年第一次物资框架采购成交候选人名单出炉

4月3日,国网浙江电力2026年第一次物资类框架协议竞争性谈判采购推荐的成交候选人名单公示(采购编号:ZBGW26-003),涵盖线路防雷、通信配件、量子加密模组、带电作业机器人附件等 23 类细分品类。中标总金额27552.5万元&…...

VMD 1.9.4实战:如何高效查看蛋白质-配体分子动力学模拟轨迹(附帧数优化技巧)

VMD 1.9.4实战:如何高效查看蛋白质-配体分子动力学模拟轨迹(附帧数优化技巧) 分子动力学模拟已成为研究蛋白质-配体相互作用的重要工具,而可视化分析则是理解模拟结果的关键环节。Visual Molecular Dynamics(VMD&#…...

实战复盘】游戏上市公司合同系统实施案例(六):被忽视的IT力量——为什么业务主导的项目更需要IT深度参与?

本文为《游戏上市公司合同系统实施案例》系列第六篇。 👉 (一)业务背景|(二)多维预算|(三)合同预警|(四)安全攻防|&#x…...

STM32 UART 通信详解

通用异步收发传输器(UART)是STM32微控制器中最基础、最常用的串行通信接口之一。它通过简单的两根信号线(TX和RX)实现全双工异步数据交换,广泛应用于与PC调试、传感器模块、蓝牙/Wi-Fi模块等的通信。一、UART协议基础1…...

Yii::$app->getAuthManager();的庖丁解牛

Yii::$app->getAuthManager() 是 Yii2 权限控制系统(RBAC)的唯一入口和核心代理。 它的本质是:通过服务定位器(Service Locator)模式,从全局应用容器中获取实现了 yii\rbac\ManagerInterface 接口的授权…...

革新性动物森友会存档编辑工具:NHSE全流程定制指南

革新性动物森友会存档编辑工具:NHSE全流程定制指南 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE NHSE(Animal Crossing: New Horizons save editor)是一款专业…...

别再乱删了!手把手教你用官方工具彻底卸载Autodesk全家桶(3ds Max/CAD)

彻底告别安装失败!Autodesk软件专业卸载与重装全指南 你是否曾经遇到过这样的困扰:明明已经卸载了3ds Max或AutoCAD,重新安装时却频频报错?那些隐藏在系统深处的残留文件就像顽固的污渍,无论你怎么擦洗都挥之不去。本…...