一、E70-915NWxxS简介
E70-915NWxxS系列星型组网模块工作在915MHz频段,模块集主机(协调器)、终端(节点)为一体。我们可利用抓包工具和嗅探器对无线数据包进行嗅探,从而方便代码的调试和交互流程的分析,本文主要介绍如何设置和使用SmartRF Packet Sniffer 2和Wireshark 进行抓包(E70-433NWxxS的抓包方法与其一致)。
二、软件简介
SmartRF Packet Sniffer 2简介
SmartRF Packet Sniffer 2包括软件和固件两部分,可结合Wireshark来捕获和显示无线数据包。SmartRF Packet Sniffer 2支持CC13xx和CC26xx系列的设备作为捕获设备。SmartRF Packet Sniffer 2包包括以下组件:
用于配置和与捕获设备通信的SmartRF Sniffer Agent (PC端工具)。
允许CC13xx和CC26xx 设备作为捕获设备的固件。
固件源码
Wireshark的剖析器(IEEE 802.15.4ge和TI无线分组信息剖析器)。
Wireshark简介
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包信息。在过去,网络封包分析软件是非常昂贵的, Wireshark的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Wireshark是目前全世界最广泛的网络封包分析软件之一。
三、准备工作
下载Wireshark 2.6.x稳定版本
a.下载Wireshark网址 (需要网址的朋友可以问留言索要,推文规则暂不支持非微信链接)
b.下载Wireshark到电脑默认路径
下载SmartRF Packet Sniffer 2到电脑默认路径
注意:要先下载Wireshark再下载SmartRF Packet Sniffer 2。
如果Wireshark安装在默认安装路径上,SmartRF包嗅探器2安装程序将把解析插件复制到Wireshark。
硬件准备
使用SmartRF Packet Sniffer 2和Wireshark对E70-915NWxxS模块的无线数据进行抓包时,需要至少三个E70-915NWxxS模块,一个作为协调器,一个作为节点以及一个嗅探设备,只有下载包嗅探固件的设备才能作为嗅探设备,E70-915NWxxS的包嗅探固件的位于:SmartRF Packet Sniffer 2的下载路径\sniffer_fw\bin\ cc13x0lp\ sniffer_fw.hex,用户可使用Flash Programmer2或Uniflash软件进行程序的下载。
需注意,下载了嗅探程序的嗅探器的串口引脚并不是E70-915NWxxS的串口引脚,我们可以通过打开一个SDK的示例程序,如uartecho例程,可看到程序中设置串口接收引脚为IOID_2,串口发送引脚为IOID_3,因此模块需要把这两个引脚引出来,如下图所示贴有标签纸的引脚接T2的Tx。
SDK串口引脚配置
串口引出图
将下载好固件的E70-915NWxxS模块和下载好嗅探程序的嗅探设备上电,如下图所示:
四、SmartRF Packet Sniffer 2设置
SmartRF Sniffer Agent可以通过多种方式向Wireshark传输数据,下面演示如何使用Pipe的方式,将数据发送到本地机器上的Wireshark。
打开SmartRF Packet Sniffer 2.
点击Options -> Data Out ,选择 Use Pipe(Vista or higher)
点击Device Configuration..按钮,选择一个嗅探器设备。然后点击Configuration按钮,选择协议, PHY设置和频段,选择信道(注意频率要和我们待抓模块的频率一致),点击OK,如图下所示。
点击Start All。输入数据指示框变为绿色,输出数据指示框变为蓝色。
创建一个新的Wireshark桌面快捷方式。在创建Wireshark桌面快捷键后,点击属性->快捷方式->目标(T),将此栏的信息改为“"C:\Program Files\Wireshark\Wireshark.exe" -i\\.\pipe\tiwspc_data -k”,设置完成后点击应用。
从新的快捷方式运行Wireshark。Wireshark显示捕获的数据,且Sniffer Agent图标变为绿色。
五、Wireshark设置
打开Wireshark,在工具栏点击帮助 -> 关于Wireshark(A) -> 插件,确认以下三个插件已经安装:
ti802154ge-x(86/64)-2x.dll
tirpi-x(86/64)-2x.dll
ti-ble-packet-info-x(86/64)-2x.dll
详见下图:
若这三个解析插件没有在此显示,可以使用以下的任意一种方式解决:
验证Wireshark安装在默认位置,然后再次运行SmartRF Packet Sniffer 2安装程序
从SmartRF Packet Sniffer 2安装位置手动复制插件文件(SmartRF Packet Sniffer 2下载路径\wireshark\plugin\2.6.x)到Wireshark插件文件夹(Wireshark安装路径\plugins\2.6.x\epan). 如果你安装了32位的Wireshark,那么使用x86版本的插件;如果你安装了64位的Wireshark,那么使用x64版本的插件。
可以通过配置Wireshark,来对加密的数据包进行解析,由于E70-915NWxxS并未开启安全密钥的设置,因此这里不再描述如何配置Wireshark对加密的数据包进行解析
六、Wireshark使用方法
Wireshark数据包页面如下图所示,各个红框的具体内容如下所示:
红框1:显示每个数据包的主要信息。
Time:数据包的时间戳,主要用于查看两个数据包的时间差
Source:发送数据方的短地址
Destination:接收数据方的短地址
Protocol:协议类型
Length:无线数据包的长度
Destination PAN:PANID
Info:数据类型、发送方短地址和目标短地址
红框2:选中的无线数据包的数据分组,可展开数据分组以查看详细信息。红框3:选中的无线数据包的全部内容。
Wireshark数据包显示
Wireshark中数据包的显示如下图所示。从SmartRF Sniffer Agent发送到Wireshark的每个数据包都封装在UDP/IP数据包中。UDP/IP数据包信息可以忽略。其中TI 802.15.4GE分组的数据被封装在TI Radio Packet Info分组中,TI Radio Packet Info包括以下信息:
Interface: 捕获数据的设备(嗅探器)的接口类型和接口号
Frequency: 频率信息
Channel: 信道信息
PHY: PHY描述
RSSI: 数据包的信号强度
Frame Check Status: CRC状态
总结
在E70-433NWxxS/E70-915NwxxS模块的协调器设备与节点设备数据交互的过程中,所发送出来的无线数据包不仅仅只有我们通过串口发送给设备的数据,因此在实际的开发过程中,我们可以结合Wireshark以及SmartRF Packet Sniffer 2进行调试和代码分析,这让我们能够更清晰地理解E70-433NWxxS/E70-915NwxxS模块的协调器设备与节点设备的数据交互逻辑。
领取专属 10元无门槛券
私享最新 技术干货