实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验

在蓝牙的开发过程中,使用抓包器对蓝牙模块收发数据进行抓包BLE分析,无疑会极大地提高我们的研发开发效率,同时能帮我们快速地定位问题。对于初学者或者开发者来说,BLE抓包分析能让我们更快地理解蓝牙的工作过程。

市面上有几款常见的抓包工具,本文详细对比了Wireshark和TI CC2540 Sniffer软件Packet Sniffer对蓝牙模块抓包的测试体验。

经过测试Wireshark对比Packet Sniffer的使用体验,主要有三点:

1.    Wireshark优化的软件布局和简化的抓包流程。

2.    Wireshark解析彻底的抓包数据结构,便于分析。

3.    Wireshark对抓包数据提前解析数据包类型,方便查找到对应的数据包。

在测试中,我们选用了信驰达科技基于nRF52832的RF-DG-32A硬件抓包工具,其价格、性能、稳定性上要好于TI的CC2540 USB Dongle硬件,各位电子工程师们可以尝试一下这款RF-DG-32A。

当然本文重点是软件方面的实测对比,具体的测试分析过程请看下面。

首先我们需要在测试前做好软硬件准备。

硬件部分我们需要准备信驰达科技的基于nRF52832的RF-DG-32A硬件抓包工具以及测试的模块:RF-BM-ND04模块和RSBRS02ABR模块。

软件部分我们需要准备Android手机端软件:nRF-connect,这个软件在应用商店可以很容易找到下载。在PC我们需要下载安装Wireshark软件,它的下载地址如下:https://www.wireshark.org/download.html

以上软硬件准备完毕后,我们就可以开始进行RF-DG-32A的抓包测试。

一、首先我们使用RF-BM-ND04模块进行测试。

具体步骤为:

1. RF-DG-32A插上电脑的USB接口,然后打开“我的电脑”—“管理”—“设备管理器”—“端口”,查看设备的 COM 端口号。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第1张图片

2.Wireshark软件,选择对应的COM号,双击COM号进入。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第2张图片

3.将RF-BM-ND04模块上电,打开手机上对应的软件 nrf connect,查看设备的MAC 地址,软件里可以看到RF-BM-ND04设备地址是FA:8D:0D:27:50:C6。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第3张图片

4.在Wireshark软件中点击“Device”选择框,在下拉选项框中选择MAC地址为FA:8D:0D:27:50:C6的设备。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第4张图片

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第5张图片

5.手机端软件nRF connect点击“CONNECT”连接到蓝牙模块。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第6张图片

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第7张图片

6.在手机端软件nRF connect中选择“Nordic UART Service”,在“TX”中发送数据 “rf-star”到模块。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第8张图片

 

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第9张图片

7.Wireshark软件在模块没有发送数据前,数据包显示是广播包LE LL 格式。Wireshark抓包正确的数据包格式为ATT,我们只需要找到ATT格式数据包,并双击ATT即可查看数据 。

 实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第10张图片

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第11张图片

8.数据包界面如下图所示,解析出接收到的数据为rf-star,收发一致。说明已经成功抓到该数据

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第12张图片

我们更换发送的数据,重复上述发送数据步骤进行测试:

1.重复上述操作,手机发送的数据修改为:https://www.szrfstar.com/。Wireshark抓包结果为:

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第13张图片

2.手机多次向模块发送同一个数据包:“rf-star”,抓包显示的数据如下:

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第14张图片

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第15张图片

提示:在使用Wireshark时,可以注意几个使用技巧,需要查看数据时可以先点击停止捕获按钮(红色),再观察数据。需要重新抓取则需要点击重新开始当前捕获按钮(绿色) ,点击后需要把设备断开连接,Wireshark会自动重新开始抓包 ,再重新连接上设备即可正常工作。 如果连接后发现Wireshark数据停止 则重新断开设备连接并重新连接即可正常工作

 

二、接下来我们使用RF-DG-32A对RSBRS02ABR模块进行测试抓包。

具体步骤为:

1. RF-DG-32A插上电脑的USB接口,然后打开“我的电脑”—“管理”—“设备管理器”—“端口”,查看设备的 COM 端口号。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第16张图片

2.Wireshark软件,选择对应的COM号,双击COM号进入。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第17张图片

3.将RSBRS02ABR模块上电,打开手机上对应的软件 nRF connect,查看设备 的MAC 地址,在本例中可以看到RSBRS02ABR设备地址是BA:03:28:1A:74:90。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第18张图片

4.在Wireshark软件中点击“Device”选择框,在下拉选项框中选择MAC地址为BA:03:28:1A:74:90的设备。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第19张图片

5.手机端软件nRF connect点击“CONNECT”连接到蓝牙模块

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第20张图片

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第21张图片

6.在手机端软件nRF connect中ffe5-ffe9下拉菜单中发送数据 “rf-star” 到模块。Wireshark软件在模块没有发送数据前,数据包显示是广播包LE LL 格式。Wireshark抓包正确的数据包格式为ATT,我们只需要找到ATT格式数据包,并双击ATT即可查看数据 。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第22张图片

 

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第23张图片

7.数据包界面如下图所示,解析出接收到的数据为rf-star,收发一致。说明已经成功抓到该数据

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第24张图片

我们更换数据,重复上述发送数据进行测试:

1.重复上述操作,手机发送的数据修改为:https://www.szrfstar.com/。Wireshark抓包结果为:

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第25张图片

2.手机多次向模块发送同一个数据包:“rf-star”,抓包显示的数据如下:

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第26张图片

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第27张图片

三、使用RF-DG-32A硬件对Wireshark抓包测试后,我们再使用TI CC2540 Sniffer抓包工具Packet Sniffer进行测试。

硬件准备CC2540官方USB Dongle硬件以及RF-BM-ND04模块。

软件准备Android手机端:nRF-connect。

PC端:Packet Sniffer,下载地址为:http://www.ti.com.cn/tool/cn/PACKET-SNIFFER?keyMatch=PACKET%20SNIFFER&tisearch=Search-CN-everything

1. 安装好所需软件之后,打开Packet Sniffer,界面选择Bluetooth Low Energy  ,点击下方start。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第28张图片

 

2.点击star后界面如下所示,设备会自动识别官方USB Dongle设备

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第29张图片

3.我们点击下方 Radio Configuration 栏,选择广播信道(373839),点击上方的三角形开始按钮搜索附近设备的广播信息

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第30张图片

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第31张图片

4.打开手机APP nrf-connect,查看需要监听设备的地址信息为:BA:03:28:1A:74:90。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第32张图片

5.点击软件下方Display filter栏, Field Name 中选择 ADV_IND Adva

6.Filter conditon 中输AA1=0x+ BA03281A7490 地址。点击first AA1=会自动增加,后面直接加上MAC地址BA03281A7490,点击 Add 添加该设备。再点击 Apply filter,即可抓到指定MAC地址的包。

实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验_第33张图片

通过上面Wireshark和的对比测试,我们可以看出,Wireshark的抓包体验好于TI公司的Packet Sniffer。

其一:Wireshark在进入抓包前,选择相应的COM口再进入抓包,Packet Sniffer则是通过底部区域选择对应的设备,底部区域占幅较大的设计使得抓包过程数据展示效果和Wireshark相比差很多。Packet Sniffer软件风格和布局过于陈旧,相比Wireshark在软件优化上做的更好。

其二:在Wireshark抓包展示的数据中,可以实时点击数据查看数据结构,双击即可查看底层协议的具体解析。而Packet Sniffer仅仅只能展示拆分的数据结构,展示部分结构的具体数值。相比之下,Wireshark可以完整地展示接收到的数据包的每一个结构的具体数值,堪称完美解析。

其三:Packet Sniffer需要逐条查看哪一条信息是接收到的数据,需要一定分析的方法才能找到正确的数据。而Wireshark提前解析好了每一条数据,可以清楚的知道哪一条是LE LL,哪一条是ATT,需要找到发送的数据包可以直接通过标记ATT的数据找到,非常方便高效,而且数据可以根据时间、协议排序,根据实际的数据查找要求,高效地、清楚地找到。毕竟Wireshark自被开源以来,经过至少数千名开发者的开发优化,使用体验得到很好的优化,免费好用的特性会吸引更多人的去尝试。

综合以上测评体验,如果选择蓝牙抓包软件进行BLE模块测试的话,推荐使用Wireshark。抓包硬件方面,信驰达推出的RF-DG-32A比TI 原厂的CC2540 USB Dongle使用体验更好,大家有兴趣可以尝试一下。

你可能感兴趣的:(实测对比Wireshark利用nRF52832 Sniffer和Packet Sniffer 利用CC2540 Dongle 抓包使用体验)