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

相关推荐
IT199517 小时前
Wireshark笔记-DHCP两步交互流程与数据解析
网络·笔记·wireshark
baynk4 天前
协议分析基础
wireshark·协议分析
源代码•宸5 天前
网络流量分析——使用Wireshark进行分析
网络·经验分享·测试工具·wireshark
源代码•宸6 天前
网络流量分析——熟悉Wireshark
网络·经验分享·测试工具·wireshark
Janspran8 天前
嵌入式Linux学习 - 远程连接 与 wireshark
linux·学习·wireshark
IT199513 天前
Wireshark笔记-DHCP流程与数据包解析
笔记·测试工具·wireshark
zzc92117 天前
Wireshark导出数据包时间和长度
wireshark·excel·导出·csv·time·length·波形
zzc92117 天前
根据Wireshark捕获数据包时间和长度绘制路由器发送给电脑数据的信号波形
网络·wireshark·智能路由器·网卡·packets·信号波形·192.168.1.103
zzc92119 天前
Wireshark获取数据传输的码元速率
网络·测试工具·wifi·wireshark·路由器·802.11n·物理层参数
zzc92121 天前
TLSv1.2协议与TCP/UDP协议传输数据内容差异
网络·测试工具·安全·wireshark·ssl·密钥·tlsv1.2