当前位置: 首页 > ds >正文

基于wireshark的USB 全速硬件抓包工具USB Sniffer Lite的使用

1、前言

随着MCU的发展和需求的增多,USB已成为主流MCU的标配外设,但很多还是全速或低速IP,因此往往用不上高速抓包设备。

2、安装wireshark和拷贝抓包插件

将抓包插件拷贝到wireshark的extcap目录里,可参考基于wireshark的USB 高速硬件抓包工具USB Sniffer的使用-CSDN博客

抓包插件下载链接  【免费】USBSnifferLite全速版Wireshark抓包插件中文版资源-CSDN下载

3、抓包工具选购链接

有需要的朋友可支持一下,小巧实惠,且满足常见MCU的USB软件开发工作,支持自动速度识别,支持硬件包过滤、端点过滤,支持硬件时间戳及包序号

  淘宝链接

4、线路连接

USB Sniffer Lite 的Type A公头接装有wireshark的Monitor(监控)电脑,接入后红灯闪烁,Type C接测试主机(Host),可以和Monitor是同一台,也可以是不同的,Type A 母座接被测试设备(Device),如下示意图

接入后红灯闪烁

5、抓包设置

5.1 打开wireshark,点击USB Sniffer Lite前的选项按钮

5.2 Device页内容如下:

5.2.1 设备选择:当有多个Sniffer时选择用哪个Sniffer进行捕获

5.2.2 序号类型:

a) 包间隔时间,数据包出现时的时间戳,精度为微秒,在捕获页面显示时可设置为

   捕获后的效果如下:

b)  捕获时包序号,数据包被捕获时的顺序号,第一包为0,第二包为1,以此类推,这样可以知道是否有丢包,只是显示格式目前还没研究清楚,如何让它显示整数

c)  过滤后包序号,数据包经过滤后的顺序号,过滤掉的就不计入,比如设置为不捕获SOF,不勾选IN的NAK(也就是不捕获未应答的IN数据包),这样上传上来的序号就是连续的

5.2 SOF页,用于设置是否捕获SOF包,当您不需要SOF包时,可以选择不捕获,从而减少包数

5.3 SETUP页,用于设置是否捕获SETUP包

       可以是不捕获,可以是捕获所有端点的,可以是捕获指定端点的,也可以是捕获与指定端点不相等的,指定的端点在端点列表里给出。比如只想捕获端点1的控制传输,则选择相等的,端点列表填1

       SETUP令牌包后只能使用DATA0数据包,且只能发送到设备的控制端点,而且设备必须接收,所以NAK其实是没有必要,这里只是保留着。

       一般来说SETUP包都不是很多,所以可捕获所有端点的。

5.4 IN 页,用于设置如何捕获输入数据包

和SETUP类似,不同在于,当勾选NAK时,Device否认(NAK)包也会被捕获,这是可能会产生大量的无效数据包;当不勾选时,只捕获Device应答(ACK)的数据。

如下是勾选的情况,可以看出有大量的NAK的IN包

如下是不勾选的情况,可以看出只有被Device ACK的包被捕获下来

5.5  OUT页,用于设置如何捕获输出数据包

功能和IN 页类似,如勾选NAK,有大量的未应答包别捕获进来

如下是不勾选,只有被ACK的包被捕获进来了

设置好后,进行保存

6、开始抓包

双击 USB Sniffer Lite,即可启动抓包

这时Sniffer的绿灯亮起,然后插入USB 全速或低速Device,绿灯开始闪烁

如下是捕获的数据

5、结语

USB协议比较复杂,不对的地方欢迎大家批评指正

http://www.xdnf.cn/news/17969.html

相关文章:

  • 【lucene】DocumentsWriterFlushControl
  • 负载因子(Load Factor) :哈希表(Hash Table)中的一个关键性能指标
  • C++ 滑动窗口、二分查找
  • Ubuntu 22.04 远程桌面设置固定密码的方法
  • 快手入局外卖?上桌了,又没上
  • 第4节课:多模态大模型的核心能力(多模态大模型基础教程)
  • 18.13 《3倍效率提升!Hugging Face datasets.map高级技巧实战指南》
  • 顺序表插入删除
  • list模拟实现
  • 2025 年电赛 C 题 发挥部分 1:多正方形 / 重叠正方形高精度识别与最小边长测量
  • 36 C++ STL模板库5-string
  • %in%与`==
  • pnpm常用命令;为什么使用pnpm?
  • CV 医学影像分类、分割、目标检测,之【肺结节目标检测】项目拆解
  • 华为6730交换机恢复接口默认配置
  • 疏老师-python训练营-Day45Tensorboard使用介绍
  • elasticsearch冷热数据读写分离!
  • 数学建模-非线性规划模型
  • Linux编程1:进程和线程
  • 目标检测-动手学计算机视觉12
  • 爱情的本质及模拟推演
  • 机器翻译:Hugging Face库详解
  • 模型选择与调优
  • Java 并发新范式:用 Structured Concurrency 优雅收拾多线程烂摊子
  • Linux软件编程:进程和线程
  • 【软考中级网络工程师】知识点之入侵防御系统:筑牢网络安全防线
  • Linux中Samba服务配置与使用指南
  • 计算机毕设大数据选题推荐 基于spark+Hadoop+python的贵州茅台股票数据分析系统【源码+文档+调试】
  • 百川开源大模型Baichuan-M2的医疗能力登顶第一?
  • Flink CDC 实战:实时监听 MySQL Binlog 并同步到 Kafka