蓝牙4.0 BLE的开发过程中,使用抓包器进行抓包分析无疑会极大地提高我们的开发效率,同时能帮我们快速的定位问题。对于初学者来说,抓包分析能让我们更快的理解 蓝牙4.0 BLE的工作过程。
本文详细说明如何搭建EN-Dongle的抓包环境和如何使用EN-Dongle进行抓包。 EN-Dongle抓包时会通过Sniffer软件调用强大的网络封包分析软件Wireshark捕获和分析BLE包。
1. 需要的工具
表一:硬件需求
序号 | 设备 | 数量数量 |
1 | 计算机 | 1台 |
2 | EN-Dongle | 1个 |
3 | J-LINK仿真器 | 1套 |
4 | MINI USB数据线 | 1根 |
表二:软件需求
序号 | 名称 |
1 | ble-sniffer_win_1.0.1 |
2 | Wireshark-win32-1.12.8或 Wireshark-win64-1.12.8 |
2. 驱动及软件安装
使用EN-Dongle进行抓包和协议分析需要用到下面的1个驱动和两个软件。
解压“CP210x_VCP_Windows.zip”,解压后如下图,根据具体情况选择安装32位版本或64位版本驱动。
图1:Wireshark安装文件
根据具体情况选择安装32位版本或64位版本。
1) 双击Wireshark安装程序,弹出安装窗口,点击“Next”。
图2:安装Wireshark
2) 点击“I Agree”。
图3:安装Wireshark
3) 点击“Next”。
图4:安装Wireshark
4) 选择安装在默认路径后点击“Next”。
图5:安装Wireshark
5) 勾选“Install WinPcap 4.1.3”,点击“Next”。
图6:安装WinPcap
6) 点击“I Agree”。
图7:安装WinPcap
7) 点击“Finish”完成安装。
图8:完成安装
Sniffer是绿色软件,无需安装,解压后双击“ble-sniffer_win_1.0.1_1111_Sniffer.exe”即可运行。
图9:Sniffer软件
3. 使用EN-Dongle抓包
1) 将EN-Dongle连接到计算机的USB接口上,并让EN-Dongle处于Central和Peripherel的信号覆盖范围内,如下图所示。
图10:EN-Dongle抓包示意图
2) 双击“ble-sniffer_win_1.0.1_1111_Sniffer.exe”,启动Sniffer。Sniffer启动后会自动检查串口及周围的 BLE 器件,如下图所示。
图11:Sniffer软件界面
上图中信息栏显示了Sniffer读取的串口是:COM25。设备列表中显示Sniffer已经抓取到两个BLE设备,编号分别是“0”和“1”。
3) 输入编号,选择BLE 器件,如下图所示。
图12:输入编号选择Device
4) 输入“w”启动Wireshark,开始抓包。
图13:启动Wireshark
5) Wireshark启动后,我们就可以看到捕获的BLE包了,如下图所示。
Wireshark是一个很牛的网络封包分析软件,支持众多协议,做过网络通信相关开发的朋友对Wireshark都不会陌生,即使没用过也应该听说过。Wireshark可以帮助我们将一个个原始的BLE数据包按照BLE的协议进行解析,并以我们能看得懂的形式展现。
图14:Wireshark捕获的BLE包
选中一个BLE包(这里捕获的是广播包),展开树形目录,即可看到Wireshark对这个广播包的分析。
图15:Wireshark解析BLE包
到这里,捕获广播包已经OK了,用手机连接一下BLE设备,观察Wireshark捕获窗口,整个连接过程会立即呈现在我们的眼前!