目录1、安装wireshark2、高速版抓包器选购链接3、拷贝抓包插件4、开始抓包5、启用抓包过滤6、提取抓取的数据7、结语1、安装wireshark进入wireshark官网下载最新版本或进入网盘下载选择Windows 版本即可下载下载完成后双击exe跟着向导即可安装2、高速版抓包器选购链接USB 高速抓包器 USB Sniffer 链接3、拷贝抓包插件wireshark 和抓包插件下载链接通过网盘分享的文件USB_sniffer链接: https://pan.baidu.com/s/1QMzwu1eXsXJdCzsDzO8xZA?pwdk3vj 提取码: k3vj注意请用最新版本插件并把旧版删掉excap目录下不能同时有多个版本的插件高速版选不带lite 的最新版3.1 从桌面或开始菜单中打开安装好的wireshark3.2 在任务栏上右键wireshark图标弹出如下选项3.3 再右键点击弹出的wireshark弹出如下选项3.4 选择属性弹出如下窗口3.5 左键点击 打开文件所在位置如安装在C盘的3.6 双击进入extcap将usb_sniffer.exe 根据实际拷贝最新版本拷贝到该目录下3.7 回到wireshark页面选择菜单 捕获-刷新接口列表如下就会出现USB Sniffer 选项4、开始抓包4.1 将抓包器的Monitor接口用type C线与运行wireshark的电脑想连接不要经过HUB台式机最好是主机后面的接口Host端接测试主机可以和Monitor是同一台也可以是不同的如下示意图这时抓包器正面的Monitor灯和Host灯红色应该常亮Status灯绿色慢闪4.2 点击 USB Sniffer前的 接口选项小图标打开接口选项设备选择这里选择捕获设备当有多个设备时可在这里进行选择捕获速度 选择Device的速度高速 全速 或 低速目前不支持自动速度识别折叠空帧 可以将无数据无错误的帧进行折叠如SOF帧可减少捕获的包数触发方式立即捕获不使用外部触发一般默认这个其他的需要在触发端口输入指定的信号捕获限制0不限制其他数表示捕获到指定的包数后停止捕获4.3 设置好后点击 Save 进行保存4.4 双击 USB Sniffer 即可开始捕获开始Status灯绿色开始快速闪烁wireshark显示开始捕获信息4.5 开始后再将USB Device插入捕获器也可以先插入后开始捕获但是这样由于wireshark没有捕获到枚举过程也就不知道Device具体是个什么设备会导致后续数据包解析不了如插入USB转串口线捕获截屏如下如下HOST开始向Device请求设备描述符具体解析可在左下的窗口中展开查看设置地址及再次请求设备描述符设备响应的设备描述符一般捕获的数据包都比较多这时我们就可以先找到设备响应的配置描述符从里面找到关心的端点地址再结合前面设置的地址就可以过滤出感兴趣的数据如在过滤栏中输入(usb.bDescriptorType 0x02) (usb.dst host)即可过滤出设备响应的配置描述符找到包含端点信息的包如下比如用串口助手打开对应的COM号然后发送如下内容这时我们可以根据设备地址是16端点地址为2组成过滤器usbll.dst 16.2过滤出全部符合条件的OUT 和DATA0/DATA1数据包如果想将捕获的数据导出到文件可以选中payload右击导出分组字节流然后选择路径和填入文件名即可也可以选择 显示分组字节 然后选择显示格式5、启用抓包过滤一般情况下USB通信中会有大量的NAK包或SOF包若是复合设备时更是有多个端点的数据交织在一起非常不便于查看和分析为快速抓到感兴趣的数据故增加了过滤功能。使用方法如下1、打开接口选项的“过滤设置”页2、SOF 包 NAK包和PING包过滤当需要捕获这些包时将对应的选项勾上即可未勾选NAK时是将其对应的所有包都丢弃而不是只丢弃包本身严格来说应该是丢弃包含NAK的传输。3、地址和端点过滤过滤方式有两种一种是将满足过滤规则的包丢弃另一种是只捕获满足过滤规则的包用下面所示的选项选择当要使用某个过滤规则时将对应的框勾上并且选择相应的地址和端点目前提供4条规则可实现比较复杂的过滤场景6、提取抓取的数据将抓取的数据包保存成pcapng格式文件-保存打开网盘中的 wireshark_packet_extracter_v2.1.exe 版本号可能不同软件设置号输出格式可根据示例报文窗口查看然后点击“打开文件”按钮打开上一步保存的文件最后点击“开始转换”保存转换出的文件即可7、结语USB协议比较复杂不对的地方欢迎大家批评指正