在蓝牙的开发过程中,使用抓包器对蓝牙模块收发数据进行抓包ble分析,无疑会极大地提高我们的研发开发效率,同时能帮我们快速地定位问题。对于初学者或者开发者来说,ble抓包分析能让我们更快地理解蓝牙的工作过程。
市面上有几款常见的抓包工具,本文详细对比了wireshark和ti cc2540 sniffer软件packet sniffer对蓝牙模块抓包的测试体验。
经过测试wireshark对比packet sniffer的使用体验,主要有三点:
1. wireshark优化的软件布局和简化的抓包流程。
2. wireshark解析彻底的抓包数据结构,便于分析。
3. wireshark对抓包数据提前解析数据包类型,方便查找到对应的数据包。
在测试中,我们选用了凯发app官方网站-凯发k8旗舰厅注册登录基于的硬件抓包工具,其价格、性能、稳定性上要好于ti的cc2540 usb dongle硬件,各位电子工程师们可以尝试一下这款。
当然本文重点是软件方面的实测对比,具体的测试分析过程请看下面。
首先我们需要在测试前做好软硬件准备。
硬件部分我们需要准备信驰达科技的基于nrf52832的rf-dg-32a硬件抓包工具以及测试的模块:模块和模块。
软件部分我们需要准备android手机端软件:nrf-connect,这个软件在应用商店可以很容易找到下载。在pc我们需要下载安装wireshark软件,它的下载地址如下:
以上软硬件准备完毕后,我们就可以开始进行rf-dg-32a的抓包测试。
一、首先我们使用rf-bm-nd04模块进行测试。
具体步骤为:
1. rf-dg-32a插上电脑的usb接口,然后打开“我的电脑”—“管理”—“设备管理器”—“端口”,查看设备的 com 端口号。
2.wireshark软件,选择对应的com号,双击com号进入。
3.将rf-bm-nd04模块上电,打开手机上对应的软件 nrf connect,查看设备的mac 地址,软件里可以看到rf-bm-nd04设备地址是fa:8d:0d:27:50:c6。
4.在wireshark软件中点击“device”选择框,在下拉选项框中选择mac地址为fa:8d:0d:27:50:c6的设备。
5.手机端软件nrf connect点击“connect”连接到蓝牙模块。
6.在手机端软件nrf connect中选择“nordic uart service”,在“tx”中发送数据 “rf-star”到模块。
7.wireshark软件在模块没有发送数据前,数据包显示是广播包le ll 格式。wireshark抓包正确的数据包格式为att,我们只需要找到att格式数据包,并双击att即可查看数据 。
8.数据包界面如下图所示,解析出接收到的数据为rf-star,收发一致。说明已经成功抓到该数据
我们更换发送的数据,重复上述发送数据步骤进行测试:
1.重复上述操作,手机发送的数据修改为:凯发app官方网站-凯发k8旗舰厅注册登录。wireshark抓包结果为:
2.手机多次向模块发送同一个数据包:“rf-star”,抓包显示的数据如下:
提示:在使用wireshark时,可以注意几个使用技巧,需要查看数据时可以先点击停止捕获按钮(红色),再观察数据。需要重新抓取则需要点击重新开始当前捕获按钮(绿色) ,点击后需要把设备断开连接,wireshark会自动重新开始抓包 ,再重新连接上设备即可正常工作。 如果连接后发现wireshark数据停止 则重新断开设备连接并重新连接即可正常工作
二、接下来我们使用rf-dg-32a对rsbrs02abr模块进行测试抓包。
具体步骤为:
1. rf-dg-32a插上电脑的usb接口,然后打开“我的电脑”—“管理”—“设备管理器”—“端口”,查看设备的 com 端口号。
图1
2.wireshark软件,选择对应的com号,双击com号进入。
图2
3.将rsbrs02abr模块上电,打开手机上对应的软件 nrf connect,查看设备 的mac 地址,在本例中可以看到rsbrs02abr设备地址是ba:03:28:1a:74:90。
4.在wireshark软件中点击“device”选择框,在下拉选项框中选择mac地址为ba:03:28:1a:74:90的设备。
5.手机端软件nrf connect点击“connect”连接到蓝牙模块
6.在手机端软件nrf connect中ffe5-ffe9下拉菜单中发送数据 “rf-star” 到模块。wireshark软件在模块没有发送数据前,数据包显示是广播包le ll 格式。wireshark抓包正确的数据包格式为att,我们只需要找到att格式数据包,并双击att即可查看数据 。
7.数据包界面如下图所示,解析出接收到的数据为rf-star,收发一致。说明已经成功抓到该数据
我们更换数据,重复上述发送数据进行测试:
1.重复上述操作,手机发送的数据修改为:凯发app官方网站-凯发k8旗舰厅注册登录。wireshark抓包结果为:
2.手机多次向模块发送同一个数据包:“rf-star”,抓包显示的数据如下:
三、使用rf-dg-32a硬件对wireshark抓包测试后,我们再使用ti cc2540 sniffer抓包工具packet sniffer进行测试。
硬件准备cc2540官方usb dongle硬件以及rf-bm-nd04模块。
软件准备android手机端:nrf-connect。
pc端:packet sniffer,下载地址为:
1. 安装好所需软件之后,打开packet sniffer,界面选择bluetooth low energy ,点击下方start。
2.点击star后界面如下所示,设备会自动识别官方usb dongle设备
3.我们点击下方 radio configuration 栏,选择广播信道(37、38、39),点击上方的三角形开始按钮搜索附近设备的广播信息
4.打开手机app nrf-connect,查看需要监听设备的地址信息为:ba:03:28:1a:74:90。
5.点击软件下方display filter栏,在 field name 中选择 adv_ind adva。
6.在filter conditon 中输aa1=0x ba03281a7490 地址。点击first ,aa1=会自动增加,后面直接加上mac地址ba03281a7490,点击 add 添加该设备。再点击 apply filter,即可抓到指定mac地址的包。
通过上面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。抓包硬件方面,信驰达推出的比ti 原厂的cc2540 usb dongle使用体验更好,大家有兴趣可以尝试一下。
凯发app官方网站-凯发k8旗舰厅注册登录专注蓝牙领域十年,拥有丰富的方案设计经验。信驰达科技的nordic sniffer方案表现出色。
凯发app官方网站-凯发k8旗舰厅注册登录是行业知名度和信誉度优秀的无线射频凯发k8旗舰厅注册登录的解决方案提供商及低功耗射频核心器件供应商,旗下产品包含丰富的nordic系列产品,例如nrf52832。专业的凯发k8旗舰厅注册登录的技术支持团队为您提供专业的定制化服务,更多nordic方案,请关注凯发app官方网站-凯发k8旗舰厅注册登录。