1. 抓包工具 Ellisys & Ellisys Bluetooth Analyzer
使用方法:https://blog.csdn.net/weixin_44260005/article/details/121216529
2. BLE数据样式
3. 数据分析
3.1 ble蓝牙协议栈
3.2 BLE连接过程
http://doc.iotxx.com/BLE%E6%8A%80%E6%9C%AF%E6%8F%AD%E7%A7%98
注:图中M代表手机,S代表设备B,M->S表示手机将数据包发给设备B,即手机开启Tx窗口,设备B开启Rx窗口;S->M正好相反,表示设备B将数据包发给手机,即设备B开启Tx窗口,手机开启Rx窗口。
如图所示,
1. 手机在收到A1广播包ADV_IND后,以此为初始锚点(这个锚点不是连接的锚点)
2. 手机在T_IFS时间后给Advertiser发送一个connection request命令,即A2数据包,告诉advertiser我将要过来连你,请做好准备。
3. Advertiser根据connect_req命令信息做好接收准备。
3.3 BLE数据包格式
详见:蓝牙BLE数据包格式汇总 - unrulife - 博客园
4. 数据包分析
4.1 非定向广播包
4.2 连接请求
4.3 交换蓝牙版本号
4.4 交换 特征信息
4.5 发现Gatt Service
4.6 发现GATT Characteristic
![](https://i-blog.csdnimg.cn/blog_migrate/34306e93cc4f9ab4ac0b6e2840381017.png)
4.7 发现GATT Characteristic
4.8 BLE断开连接