基于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协议比较复杂,不对的地方欢迎大家批评指正

相关推荐
123过去2 天前
wireshark使用教程
linux·网络·测试工具·wireshark
野指针YZZ2 天前
TCP包 wireshark抓包分析-RK3588
网络·tcp/ip·wireshark
CN.LG3 天前
抓包工具 Wireshark 是什么?
网络·测试工具·wireshark
Love Song残响5 天前
Wireshark实战:从抓包到网络诊断
网络·测试工具·wireshark
爱凤的小光7 天前
Wireshark长时间循环抓包操作说明
网络·测试工具·wireshark
LuL_Vegetable8 天前
写一个Linux服务器自动tcpdum抓包脚本
linux·wireshark·bash·tcpdump
cheems95278 天前
[网络原理]http协议理论基础以及wireshark抓包分析(二)
网络·http·wireshark
cheems95278 天前
[网络原理]http协议理论基础以及wireshark抓包分析(一)
网络·http·wireshark
Love Song残响1 个月前
Wireshark网络抓包:从入门到精通
wireshark