# USB Sniffer 2 快速上手
## 一、简介
|铝合金外壳|PCBA|
|:--:|:--:|
|||
本产品为第二代USB协议分析工具,可配合 [Wireshark](https://www.wireshark.org/) 进行实时协议解析,支持`USB低速`、`USB全速`及`USB高速`。
在上一代基础上,本版本将`CY7C68013A`升级为支持`USB3.0`的`CH32H417`,数据上报带宽可超过 400 MB/s;同时移除了对高速 USB 信号有影响的比较器,并优化 FPGA 算法,基于 PHY 层数据智能识别链路状态与传输速率。此外,预留`40Pin FFC`接口,内含 10 对 LVDS 差分信号(兼容 MIPI D-PHY),具备很强的扩展能力。
产品硬件及上位机开源,支持二次开发。资料如下:
* [原理图](../_static/docs/usb_sniffer_2.Rev.20260820.pdf)
* [上位机源码](https://github.com/vllogic/usb_sniffer.extcap)
* [铝合金外壳](https://www.jlc-jdgf.com/machine-detail/621858041681838081)
## 二、快速上手
### 2.1 资源整合包
* [下载源一:百度网盘](https://pan.baidu.com/s/5JUr_pjg2ruN9iUGAtKdnkQ)
* [下载源二:Github Release](https://github.com/vllogic/usb_sniffer.extcap/releases)
### 2.2 软件安装
* **方法一:解包即用**
1. 解压整合包中的`WiresharkPortable64_4.4.9.paf.zip`
2. 文件夹`WiresharkPortable64_4.4.9.paf`下的`WiresharkPortable64.exe`即为捕获软件
* **方法二:逐步安装**
1. 安装整合包中的`Wireshark-4.4.9-x64.exe`,或从 [Wireshark官网](https://www.wireshark.org/) 下载最新版安装
2. 启动`Wireshark`,点击`帮助`-`关于Wireshark`-`文件夹`,打开`Global Extcap path`文件夹,将整合包中的`usb_sniffer_win.exe`拷贝至此文件夹中,该插件亦可通过 [源码](https://github.com/vllogic/ataradov.usb-sniffer/tree/main/software) 自行构建
3. 重启`Wireshark`,确保插件被载入
### 2.3 Wireshark分析示例
|接线示例,图中左侧`双A公USB3.0线`接主机,右侧白线接`采集对象母口`,蓝牙狗为`采集对象设备`|
|:--:|
||
1. 使用附件中的`双A公USB3.0线`连接运行`Wireshark`的主机,推荐使用`USB3.0母口`
2. 使用附件中的`TYPE-C数据线`连接`采集对象母口`与`分析仪TYPE-C口`
3. 启动`Wireshark`,在`捕获`中会出现一个`Vllogic: usb_sniffer`,点击其齿轮,根据目标设备速度选择`采集速度`,推荐勾选`Fold empty frames(折叠空帧)`,点击开始
4. 连接`采集对象设备`与分析仪无灯一侧`USB2.0 A母`。正常情况下,USB通讯立即开始,Wireshark中会显示捕获到的数据
### 2.4 Wireshark分析示例
1. `高速`U盘
* [sniffer_hs_USBFlashDisk.pcapng](../_static/docs/sniffer_hs_USBFlashDisk.zip)
2. `高速`Vllink Basic2调试器
* [sniffer_hs_VllinkBasic2.pcapng](../_static/docs/sniffer_hs_VllinkBasic2.zip)
3. `全速`CSR 4.0 蓝牙狗
* [sniffer_fs_csr4.0.pcapng](../_static/docs/sniffer_fs_csr4.0.pcapng.zip)
4. `全速`游戏手柄
* [sniffer_fs_gamepad.pcapng](../_static/docs/sniffer_fs_gamepad.zip)
### 2.5 Wireshark分析-以`高速`U盘为例
* 默认会显示从底层到高层所有数据
* 在`应用显示过滤器...`或快捷键`Ctrl-/`中,输入如下表规则,可以更直观的观察所需数据
* `Wireshark`支持非常多的高层次协议解析,如`usbhid`、`bluetooth`等,在某些场景极具优势
|过滤规则`syslog`|过滤规则`usbll`|过滤规则`usb`|过滤规则`usbms`|
|:--:|:--:|:--:|:--:|
|||||
## 三、常见问题
1. * 问:捕获时能否自动识别速度,无需提前选定速度模式
* 答:第二代已支持,如果自动模式未正确切换,可以手动选定速度模式
2. * 问:能否支持[USB PACKET VIEW](https://www.usbpacketviewer.com/download/)
* 答:不支持实时捕获,但可以导入分析,详见此网站第九章[hellofpga.com_usb-sniffer](http://www.hellofpga.com/index.php/2025/04/03/usb-sniffer/)
3. * 问:捕获时,`Time`栏时间戳比现实时间慢,或者在使用过滤器后,不能实时观察到期望数据
* 答:这是因为Wireshark显示层无法实时显示大量数据,提供几种方案
1. 勾选`Fold empty frames`,折叠空帧,推荐
2. 在`Wireshark`菜单栏中,取消`视图`->`着色分组列表`,这个功能对网络分析有用,但对大部分USB分析无意义
3. 勾选`Exclude Line State`,排除线路状态报文
## 四、二次开发
**`重要提示:`** **二次开发不提供技术支持,且开发过程中的焊接、烧录等行为会使得产品无法享受质保服务。**
### 4.1 CH32417部分
* TODO
### 4.2 H7P20部分
* TODO
## 五、交流群
* QQ群:635683631