这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
cc2640r2f:packet_sniffer [2017/09/01 21:45] long |
cc2640r2f:packet_sniffer [2021/06/22 23:14] (当前版本) |
||
---|---|---|---|
行 3: | 行 3: | ||
对于任何复杂协议的深入学习,我们都建议一个通用的学习方法,从规范-> | 对于任何复杂协议的深入学习,我们都建议一个通用的学习方法,从规范-> | ||
对于蓝牙空中抓包,暂时地我们只有使用[CC2540 USB Dongle](http:// | 对于蓝牙空中抓包,暂时地我们只有使用[CC2540 USB Dongle](http:// | ||
+ | |||
## 使用 ## | ## 使用 ## | ||
### 安装 ### | ### 安装 ### | ||
成功安装PacketSniffer,我们直接插入[CC2540 USB Dongle](http:// | 成功安装PacketSniffer,我们直接插入[CC2540 USB Dongle](http:// | ||
+ | |||
![](http:// | ![](http:// | ||
+ | |||
选择启动PackeetSniffer,并且选择Bluetooth Low Energy | 选择启动PackeetSniffer,并且选择Bluetooth Low Energy | ||
+ | |||
![](http:// | ![](http:// | ||
+ | |||
### 界面功能 ### | ### 界面功能 ### | ||
我们将详细讲解界面功能, | 我们将详细讲解界面功能, | ||
* 开始/ | * 开始/ | ||
- | ![](http:// | + | |
* Capturing Device | * Capturing Device | ||
- | 当前用以抓包的的硬件设备,我们这里的为CC2540 USB Dongle | + | |
* Radio Configuration | * Radio Configuration | ||
- | Advertising Channel 广播信道,在< | + | |
- | ![](http:// | + | ![](http:// |
* Select fields | * Select fields | ||
- | 选择抓包指定协议层,指定类型显示,除非我们对协议分层和PDU有很好认识,否则这里我们保持全部选择。 | + | |
* Display filter | * Display filter | ||
![](http:// | ![](http:// | ||
行 25: | 行 34: | ||
作为一个[负责任的公司](www.leconiot.com)就一定会讲解这里过滤规则的`FiledName`。对于这里的过滤规则主要是通过PDU(协议数据单元)不同的域进行过滤,主要参考 **蓝牙核心标准-> | 作为一个[负责任的公司](www.leconiot.com)就一定会讲解这里过滤规则的`FiledName`。对于这里的过滤规则主要是通过PDU(协议数据单元)不同的域进行过滤,主要参考 **蓝牙核心标准-> | ||
- | | + | |
- | |---------|-----------|-------| | + | | ------------- | ------------------------------------------------------------ | ------- | |
- | |AccessAddress|接近地址,正如我们知道,BLE通过跳频在37个信道切换,切换的规则就是这里AccessAddress。|| | + | | AccessAddress | 接近地址,正如我们知道,BLE通过跳频在37个信道切换,切换的规则就是这里AccessAddress。 | |
- | |ADV_PDU Type|广播协议数据单元 类型,APT=x,x表示ADV_IND、ADV_CONNEREQ | + | |ADV_PDU Type|广播协议数据单元 类型,APT=x,x表示ADV_IND、ADV_CONNEREQ|| |
- | |ADV_CONNREQ AdvA|广播连接请求的广播的地址,AA6=x x表示广播的设备的MAC地址,例如AA6=0x546C0E9B69D9 | + | |ADV_CONNREQ AdvA|广播连接请求的广播的地址,AA6=x x表示广播的设备的MAC地址,例如AA6=0x546C0E9B69D9|| |
- | |ADV_CONNREQ InitA|广播连接请求的发起者地址 IA2=x x 表示初始化广播连接的设备地址。 | + | |ADV_CONNREQ InitA|广播连接请求的发起者地址 IA2=x x 表示初始化广播连接的设备地址。|| |
- | |ADV_DIR_IND AdvA| | + | |
- | |ADV_DIR_IND InitA | + | |
- | |ADV_DISC AdvA| | + | |ADV_DIR_IND InitA||| |
- | |ADV_IND AdvA|指定某个MAC地址设备的广播,过滤 AA1=x x表示 | + | |ADV_DISC AdvA||| |
- | |ADV_NONCONN AdvA| | + | |ADV_IND AdvA|指定某个MAC地址设备的广播,过滤 AA1=x x表示|| |
- | |ADV_SCANREQ AdvA|扫描请求到某个广播设备地址过滤,AA4=x | + | |ADV_NONCONN AdvA||| |
- | |ADV_SCANREQ InitA|发起扫描请求的设备地址过滤,SA1=x | + | |ADV_SCANREQ AdvA|扫描请求到某个广播设备地址过滤,AA4=x|| |
- | |ADV_SCANRSP AdvA|广播设备对扫描请求进行的回复, | + | |ADV_SCANREQ InitA|发起扫描请求的设备地址过滤,SA1=x|| |
- | |Chanel| | + | |ADV_SCANRSP AdvA|广播设备对扫描请求进行的回复, |
- | |CRC| | + | |Chanel||| |
- | |Data Type| | + | |CRC||| |
- | |Data Type| | + | |Data Type||| |
- | |FCS ERROR| | + | |Data Type||| |
- | |FCS OK| | + | |FCS ERROR||| |
- | |Opcode| | + | |FCS OK||| |
- | |PktNumber| | + | |Opcode||| |
- | |RSSI| | + | |PktNumber||| |
- | + | |RSSI||| | |
### 开启蓝牙抓包 ### | ### 开启蓝牙抓包 ### | ||
对于蓝牙抓包,我们可以清 | 对于蓝牙抓包,我们可以清 | ||
行 55: | 行 65: | ||
* 过滤显示某个设备的广播数据(ADV_IND AdvA) | * 过滤显示某个设备的广播数据(ADV_IND AdvA) | ||
- | 指定设备MAC地址为x546C0E9B69D9,通过添加规则 `AA1=0x546C0E9B69D9` 后点击Apply filter 使能规则。 | + | |
- | ![](http:// | + | ![](http:// |
* 过滤某两个设备之间的扫描请求和回复 | * 过滤某两个设备之间的扫描请求和回复 | ||
- | 对于抓包,我们需要监听手机A(Scanner/ | + | |
- | > | + | |
- | ![](http:// | + | > **注意**:注意规则的";" |
+ | ![](http:// | ||
* 连接请求 | * 连接请求 | ||
![](http:// | ![](http:// | ||
行 70: | 行 80: | ||
## Troubleshooting ## | ## Troubleshooting ## | ||
* 设置地址警告 | * 设置地址警告 | ||
- | ``` | + | |
- | --------------------------- | + | |
- | GenPacketSniffer | + | --------------------------- |
- | --------------------------- | + | GenPacketSniffer |
- | Invalid format of initiator address. Should be given as 12 hex digits. | + | --------------------------- |
- | Examples of correct format: 0x0123456789AB, | + | Invalid format of initiator address. Should be given as 12 hex digits. |
- | --------------------------- | + | Examples of correct format: 0x0123456789AB, |
- | 确定 | + | --------------------------- |
- | --------------------------- | + | 确定 |
- | ``` | + | --------------------------- |
- | 地址格式不对。 | + | ``` |
+ | |||
+ | | ||
* 抓不到蓝牙建立连接 | * 抓不到蓝牙建立连接 | ||
行 92: | 行 105: | ||
</ | </ | ||
</ | </ | ||
- |