USB Sniffer 2 极速性能演示

一、准备

  1. 下载测试包 百度网盘 或 Github Release

  2. Windows主机,Linux及MacOS未测试

  3. 一个高性能U盘或者高性能TF卡配读卡器,后文统称U盘,读取性能要达到USB2.0峰值40MB/S

  4. 将USB_MSC_FILE文件夹拷贝至U盘中,然后安全弹出

  5. 准备好USB Sniffer 2及线材

二、抓包

  1. 将USB Sniffer 2通过USB3.0线材接3.0母口

  2. 将USB Sniffer 2的C口接2.0母口

  3. 【重要】特别说明,当前WireShark显示层无法满足极速抓包性能需求,不要试图通过GUI工具进行此项测试

  4. 打开PowerShell,执行:& "$env:USERPROFILE\AppData\Roaming\Wireshark\extcap\capture_usb_vllogic.exe" --capture --fifo "$env:USERPROFILE\Desktop\msc_extreme.pcapng" --speed auto --fold

  5. 把U盘接上USB Sniffer 2的母口

  6. 主机中出现新磁盘,将磁盘中的USB_MSC_FILE文件夹拷贝出来,然后安全弹出

  7. 移除U盘

  8. 回到PowerShell,Ctrl + C结束捕获。

  9. 桌面上出现一个msc_extreme.pcapng文件,就是针对这次MSC峰值读取所捕获的数据文件

三、分析方法

  • 我已将msc_extreme.pcapng移动到USBHS_MSC_Extreme_Test,方便AI分析

  • 使用Agent打开USBHS_MSC_Extreme_Test文件夹,AI模型选择DeepSeek V4.1 Flash High官方API,使用如下提示词:

    这是USB Sniffer 2 极速性能演示,做以下评估:
    1. 是否存在丢包或CRC错误
    2. MSC数据是否完整
    3. 抓包数据是否能与`USB_MSC_FILE`文件夹中的数据对应
    

四、分析结果(独立评估前,可将此部分删除,防止诱导AI)

分析完成。结论如下。

1. 丢包 / CRC 错误:无

检查项

数量

CRC5 错误 usbll.crc5.wrong

0

CRC16 错误 usbll.crc16.wrong

0

Split CRC5 错误

0

非法 PID / PID 序列错误

0

重组错误/重叠/超长分片

0

带外信息通道中的 drop/overflow/lost 告警

0

  • 唯一 1 个 Malformed:帧 332,枚举阶段一个 STRING 描述符响应只回了 2 字节(04 03,bLength 却为 4),CRC 正确,属设备返回的短描述符,非总线错误。

  • 5 个 short(帧 471/489/584/991/1007)为 INQUIRY allocation_length too small,主机主动限制长度,Note 级,正常。

  • 带外通道只有 Folded N empty frames(空帧折叠,正常),无任何丢包告警。

2. MSC 数据完整性:完整

  • CBW 2732 个 ↔ CSW 2732 个,一一对应;CSW status 全部 = 0 (Good),residue 全部 = 0。

  • READ(10) 共 2530 条:每条 捕获长度 == dCBWDataTransferLength,请求块数 321,905 == 实际捕获块数 321,905(164.8 MB),零缺失。

  • 无重复冲突(same 29 / conflict 0)。

3. 与 USB_MSC_FILE 对应:逐字节一致

  • 文件在 U 盘上位于连续区间:磁盘偏移 62,412,800(LBA 121,900),共 2048 条 64 KiB READ,恰好顺序读一遍。

  • 利用文件自身的分页图案头(0x5AA55AA5 | 页内偏移 | ~偏移 | 0xA5A55A5A)自校验定位:32,768 / 32,768 页头全部捕获。

  • 重建 128 MiB:262,144 / 262,144 个 512B 块全部匹配,0 错误;

  • 重建 SHA256 26d97d2c…b17

  • stress_pat.bin SHA256 26d97d2c…b17 → 完全一致。

附:性能

  • 128 MiB 文件读取耗时 3.042 s ≈ 44.1 MB/s(超过 USB2.0 峰值 40 MB/s)。

  • 整包 1,015,713 帧 / 23.644 s ≈ 42,958 帧/s,全程零 CRC 错误、零丢包。

三个问题结论均为正常:无丢包与 CRC 错误、MSC 数据完整、抓包内容与 USB_MSC_FILE 完全对应。