UWB项目介绍——uwb sniffer wireshark

1、简介

项目地址uwb-sniffer-wireshark

项目使用硬件:四相科技的UWB Dongle

软件:Wireshark 4.4.5

该项目基于四相科技提供的UWB Dongle Sniffer硬件模块,通过兼容Wireshark的插件,实现超宽带(Ultra Wide Band, UWB)数据的抓取。

2、使用说明

使用说明参考uwb-sniffer-wireshark README,主要包括:

  • 安装Wireshark;
  • 下载、安装Forthink Sniffer插件;
  • 配置插件以及UWB Sniffer参数;
  • 抓取UWB数据。

3、抓包应用

FiRa设备抓包:一个协调器(Initiator),2个Responder,测距周期200ms,测距时隙2ms,测距方式DS-TWR。

3.1 关于FiRa DS-TWR工作流程

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cfaa3fcf999c4c53a65e4f3b7fc14594.png

3.2 数据抓包效果

从抓包结果来看,在Wireshark中,仅能抓到测距过程中的SP0,即:控制消息包(Control Message)与数据包,对于SP3等IEEE 802.15.4z相关格式,由于无数据段,无法抓包与解析。

数据抓包时间戳精度是μs级。

从FiRa DS-TWR工作流程,我们可以看到协调器首先发送控制消息(Pre-Pooll),7个时隙后发送测距Final Data消息(即测量报告消息,MRM)。对于协调器端的消息而言,需要所有的Responder都需要收到,因此都是广播帧。

而要保证协调器与Responder端都能够正确的解算距离信息,每个应答器需要将测距结果报告协调器,这里只有2个工作设备,因此仅占用2个回传时隙。且均为定向发送,目的地址为协调器地址:0xabcd。

3.3 IEEE协议分析

其中,

  • 帧控制段为0x2b49,相关含义,可以参考FiRa手册,或UWB CCC MAC协议
  • Auxiliary Security Header为0x26,加密使用64bit消息完整性码(MIC-8);

后续Header IE与数据段结果如图,由于未配置FiRa加密相关信息,不能查看完整的Payload数据段,可见FiRa协议在安全性上:

其中,

  • IEEE Vendor Specific IE Header为0x0013;
  • FiRa联盟的Vendor OUI为 FF 18 5A (0x5A18FF); CCC的Vendor OUI为0x04DF69;
  • FiRa协议的数据段,分为8个字节的0x08的padding;
  • 接下来四个字节为UWB会话ID,示例中,UWB会话ID为:0x12345678;
  • 最后4个字节为会话中的STS索引,每一次UWB时隙都会增加1,图中为:0x58C1CC84,对于连续的下一个时隙则为:0x58C1CC85;
  • 接下来的两个字节为HT1,Header Termination 1 IE,FiRa中使用HT1,为0x3F00;在CCC协议中为0x3F80.

Payload段的MIC为:0x1b61ed90a0cf28dc;Payload段由于无法解密,无法具体解析。

4、总结

Forthink UWB Sniffer Tool相比,直接与Wireshark集成,使用很方便,Wireshark在UI的显示与IEEE 802.15.4协议分析上都非常不错,很清晰。不足之处,在于当前对于FiRa、CCC等加密的数据而言,无法实现数据段的解析,即未能够进一步到数据段的分析,所以在调试具体协议、需要抓取SP3特殊帧时,还是需要使用UWB Sniffer Tool进行抓包与分析。整体而言,这个插件对于调试数据是否发送成功、每个数据时隙的工作稳定度而言,μs级别的精度能够很好的胜任。

相关推荐
Feng.Lee10 小时前
聊一聊缓存如何进行测试
功能测试·测试工具·缓存
爱学测试的雨果12 小时前
Postman —— postman实现参数化
软件测试·功能测试·测试工具·lua·postman
互联网杂货铺14 小时前
如何用Postman实现自动化测试?
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
niuniu_66617 小时前
安全性测试(Security Testing)
测试工具·单元测试·appium·测试·安全性测试
薄荷你玩_21 小时前
简单粗暴,用浏览器调试端口绕过Selenium/Playwright/Puppeteer检测
selenium·测试工具
程序员三藏1 天前
Python+Jenkins+Allure Report接口自动化测试持续集成
自动化测试·软件测试·python·测试工具·ci/cd·jenkins·测试用例
星星点灯5081 天前
盛铂科技FlexDDS-NG:12通道相位连续DDS信号发生器,400MHz高频输出赋能量子光学与超冷原子研究
驱动开发·科技·测试工具·量子计算·模块测试·射频工程
niuniu_6661 天前
selenium应用测试场景
python·selenium·测试工具·单元测试·测试
天才测试猿1 天前
Selenium常用函数总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
一个幽默的程序员2 天前
Postman 如何批量发送 API 请求?循环发送功能
测试工具·postman