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

相关推荐
njxiejing3 天前
基于GNS3 web UI配置RIP协议(Wireshark 分析)
网络·测试工具·wireshark
Reicher6 天前
Wireshark的介绍和抓包
网络·测试工具·wireshark
7ACE24 天前
Wireshark TS | 接收数据超出接收窗口
网络协议·tcp/ip·wireshark
IT19951 个月前
Wireshark笔记-DHCP两步交互流程与数据解析
网络·笔记·wireshark
baynk1 个月前
协议分析基础
wireshark·协议分析
源代码•宸1 个月前
网络流量分析——使用Wireshark进行分析
网络·经验分享·测试工具·wireshark
源代码•宸1 个月前
网络流量分析——熟悉Wireshark
网络·经验分享·测试工具·wireshark
Janspran1 个月前
嵌入式Linux学习 - 远程连接 与 wireshark
linux·学习·wireshark
IT19951 个月前
Wireshark笔记-DHCP流程与数据包解析
笔记·测试工具·wireshark