跳至内容
文档中心
用户工具
Login with Keycloak
站点工具
搜索
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
Login with Keycloak
>
最近更改
媒体管理器
网站地图
您在这里:
index
»
cc2640r2f
»
packet_sniffer
cc2640r2f:packet_sniffer
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
<markdown> # PacketSniffer BLE 抓包 # 对于任何复杂协议的深入学习,我们都建议一个通用的学习方法,从规范->实现->抓包,规范是无关编程语言、语法文档表达,实现是各家SDK、API、源码,对于抓包则是对应实现理解规范。所以在BLE学习、研发过程抓包尤为重要。TI在这方面相比来说是做得相当好了,极大的简化了BLE的学习,熟练使用抓包工具,会大大降低蓝牙协议的技术入门槛,起到事半功倍的效果。 对于蓝牙空中抓包,暂时地我们只有使用[CC2540 USB Dongle](http://www.ti.com/tool/cc2540emk-usb)。成功下载[PacketSniffer](http://www.ti.com/tool/packet-sniffer)直接双击安装。 ## 使用 ## ### 安装 ### 成功安装PacketSniffer,我们直接插入[CC2540 USB Dongle](http://www.ti.com/tool/cc2540emk-usb)到PC,会自动安装驱动,成功安装驱动后,再设备管理器我们能够发现以下设备。  选择启动PackeetSniffer,并且选择Bluetooth Low Energy  ### 界面功能 ### 我们将详细讲解界面功能, * 开始/停止抓包 自动滚轮  * Capturing Device 当前用以抓包的的硬件设备,我们这里的为CC2540 USB Dongle * Radio Configuration Advertising Channel 广播信道,在<a href="cc2640r2f\ble_stack_app\bluetooth_overview\bluetooth_overview.html">蓝牙概述</a> 我们已经讲到 蓝牙40个信道保留了3个用以广播,默认广播信道会配置37、38、39全部进行广播,这里我们也可以指定某一个信道进行广播抓包。  * Select fields 选择抓包指定协议层,指定类型显示,除非我们对协议分层和PDU有很好认识,否则这里我们保持全部选择。 * Display filter  显示过滤,此功能就强大了,同样建立在我们对协议分层很好认识,否则这里的过滤将无从下手。`Field Name`表示支持的过滤选项,选择后会在`Template`窗口进行配置的过滤规则模板显示,设置好直接Add进行添加规则。注意这里模板窗口,可以通过“;”进行分割,分割的关系是“与”,同可以通过Add多次添加过滤规则关系是“或”。 作为一个[负责任的公司](www.leconiot.com)就一定会讲解这里过滤规则的`FiledName`。对于这里的过滤规则主要是通过PDU(协议数据单元)不同的域进行过滤,主要参考 **蓝牙核心标准->Vol 6: Core System Package [Low Energy Controller volume]->Part B: Link Layer Specification->2 Air Interface Packets** | FiledName | Description | example | | ------------- | ------------------------------------------------------------ | ------- | | AccessAddress | 接近地址,正如我们知道,BLE通过跳频在37个信道切换,切换的规则就是这里AccessAddress。 | | |ADV_PDU Type|广播协议数据单元 类型,APT=x,x表示ADV_IND、ADV_CONNEREQ|| |ADV_CONNREQ AdvA|广播连接请求的广播的地址,AA6=x x表示广播的设备的MAC地址,例如AA6=0x546C0E9B69D9|| |ADV_CONNREQ InitA|广播连接请求的发起者地址 IA2=x x 表示初始化广播连接的设备地址。|| |ADV_DIR_IN||| |ADV_DIR_IND AdvA||| |ADV_DIR_IND InitA||| |ADV_DISC AdvA||| |ADV_IND AdvA|指定某个MAC地址设备的广播,过滤 AA1=x x表示|| |ADV_NONCONN AdvA||| |ADV_SCANREQ AdvA|扫描请求到某个广播设备地址过滤,AA4=x|| |ADV_SCANREQ InitA|发起扫描请求的设备地址过滤,SA1=x|| |ADV_SCANRSP AdvA|广播设备对扫描请求进行的回复,AA5=x|| |Chanel||| |CRC||| |Data Type||| |Data Type||| |FCS ERROR||| |FCS OK||| |Opcode||| |PktNumber||| |RSSI||| ### 开启蓝牙抓包 ### 对于蓝牙抓包,我们可以清 ### 过滤规则举例 ### * 过滤显示某个设备的广播数据(ADV_IND AdvA) 指定设备MAC地址为x546C0E9B69D9,通过添加规则 `AA1=0x546C0E9B69D9` 后点击Apply filter 使能规则。  * 过滤某两个设备之间的扫描请求和回复 对于抓包,我们需要监听手机A(Scanner/Iniator/Master)和蓝牙开发板B(Advertiser/Slvae)之间的扫描过程。应用规则`AA5=0x546C0E9B69D9;SA1=0xB0912269FE40 > **注意**:注意规则的";"分号间隔表示两条规则需要同时满足;  * 连接请求  我们需要显示手机A(Scanner/Iniator/Master)和蓝牙开发板B(Advertiser/Slvae)之间的连接过程。应用规则 ## Troubleshooting ## * 设置地址警告 ```bash --------------------------- GenPacketSniffer --------------------------- Invalid format of initiator address. Should be given as 12 hex digits. Examples of correct format: 0x0123456789AB, 0x112233445566, 0xFFFFFFFFFFFF. --------------------------- 确定 --------------------------- ``` 地址格式不对。 * 抓不到蓝牙建立连接 ## 加入我们 ## 文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http://shang.qq.com/wpa/qunwpa?idkey=d94f12d37c3b37892af4b757c6dc34bea140f3f3128a8d68e556a3d728148e85)获取更多支持,共同研究CC2640R2F&BLE5.0。 <div> <p align="right"> <a target="_blank" href="http://shang.qq.com/wpa/qunwpa?idkey=d94f12d37c3b37892af4b757c6dc34bea140f3f3128a8d68e556a3d728148e85"><img border="0" src="http://pub.idqqimg.com/wpa/images/group.png" alt="CC2640R2F&BLE5.0-乐控畅联" align="right" title="CC2640R2F&BLE5.0-乐控畅联"></a> © Copyright 2017, 成都乐控畅联科技有限公司. </p> </div> </markdown>
cc2640r2f/packet_sniffer.txt
· 最后更改: 2021/06/22 23:14 (外部编辑)
页面工具
显示页面
修订记录
反向链接
回到顶部
LECONIOT
Toggle navigation
文档
博客