0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB软件抓包分析工具之三:Wireshark-华山派华山剑法

嵌入式USB开发 来源:嵌入式USB开发 作者:嵌入式USB开发 2023-05-02 21:41 次阅读

本文转自公众号,欢迎关注

USB软件抓包分析工具之三:Wireshark-华山派华山剑法 (qq.com)

介绍

Wireshark是世界上最流行的网络协议分析软件,并且是一个免费的、开源的工具。相信做过网络开发的一定用过这个工具进行过抓包分析。

借助USBPcap还可以进行USB的抓包和分析,USBPcap参考:https://desowin.org/usbpcap/

USBPcap从I/O请求包(IRP)中携带的USB请求块(URBs)中捕获数据。Wireshark将报文以帧的形式呈现。USBPcap的数据包与USB规范的数据包不完全相同,Wireshark的帧与USB帧也不同。

由于USBPcap捕获的是功能设备对象(FDO)和物理设备对象(PDO)之间传递的URBs,如下图

pYYBAGRREfKAG4D4ACX2w5P37-k481.png

以下信息USBPcap可以抓取:

- 控制传输:

SETUP阶段只能抓取DATA,不能抓取SETUP和ACK

DATA阶段:USBPcap包包含来自事务的DATA包的组合数据。

STATUS阶段:与STATUS阶段相关的USBPcap包不包含任何数据。

- 同步传输:

单个IRP通常携带多个等时数据包。每个同步数据包都包含来自data数据包的数据。对于每个IRP都有两个USBPcap包。第一个包含IRP从FDO到PDO时捕获的数据,第二个包含从FDO到PDO的数据。在OUT传输的情况下,第一个USBPcap包包含完整的数据,第二个包包含有关事务完成状态的信息。在In传输的情况下,第一个USBPcap包仅包含有关用于接收数据的分配缓冲区的信息,第二个包包含接收到的数据。

- 中断传输:只能抓取DATA包,不能抓取IN,OUT和ACK。

- 批量传输:每次批量传输都会产生一个USBPcap数据包,包含来自属于给定传输的所有事务的所有数据包的组合数据。

- 大容量存储设备:每次与USB大容量存储设备的数据交换都会产生三个USBPcap数据包,其中第一个包含命令,第二个包含数据,最后一个包含状态。

以下一些信息不能通过USBPcap抓取:

- 总线状态 (Suspended, Power ON, Power OFF, Reset, High Speed Detection Handshake)

- 包ID (PID)

- 拆分事务 (CSPLIT, SSPLIT)

- 总线状态的持续时间和用于在线路上传输数据包的时间

- 传输速度 (Low Speed, Full Speed, High Speed)

另外也不能够抓取完整的USB枚举过程,只能看到USB控制传输发送到设备后,设备已分配其地址。

官网

https://www.wireshark.org/

安装

从官网下载最新版

poYBAGRREfuARP_0ACmpKz86LpA789.png

我这里下载的是Wireshark-win64-4.0.5.exe,直接双击打开,安装

pYYBAGRREgGAcN8HAC2eVZBtihA248.png

poYBAGRREgeAQFe8AC2eVQ_YQjg991.png

poYBAGRREg2AMoyRAC2eVdZEWLI689.png

我们可以把所有选项都勾选

pYYBAGRREhGAMwQkAC2eVaYtR9U158.png

勾选安装桌面图标和快速启动图标

pYYBAGRREheAEVvUAC2eVQExeig054.png

指定安装路径

poYBAGRREhuABjCHAC2eVZzMw34042.png

pYYBAGRREiCAdvtlAC2eVb2irRQ466.png

注意这里勾选安装USBPcap

poYBAGRREiSAFhQcAC2eVXWKieE485.png

poYBAGRREiiASEjAAC_7z5vIEnQ444.png

pYYBAGRREiyADMglAC_7zw0vcB0304.png

pYYBAGRREjKATedkAC_7z796DcA809.png

poYBAGRREjWAERWEAC_7z-LOKSg183.png

安装USBPcap

pYYBAGRREjqAF0KTAB5trHv1xyA877.png

poYBAGRREj2AE1scAB5trGuETK8621.png

poYBAGRREkGABBKyAB5trA-V0X0183.png

pYYBAGRREkWAXmHwAB5trENu3Jo081.png

pYYBAGRREkmAUw9TAB5trIUP0aI428.png

poYBAGRREk2AGUkgAC2eVdUrXNg070.png

注意保存数据重启

pYYBAGRRElOAJB30AC2eVdyTAzw634.png

使用

打开wireshark程序

一个USB根集线器会对应一个USBPcap设备,如果没有可能是安装完后没有重启或者没有安装USBPcap。

poYBAGRREliAGLMdACVVFZFSwx0112.png

可以进去安装路径D:Program FilesWiresharkextcap下命令行输入.USBPcapCMD.exe查看每个根集线器挂载的设备

pYYBAGRRElyAcaGmADdfPL7ybwU672.png

设备过滤

我这里接入了一个UVC设备,可以看到对应的是USBPcap2的端口2

poYBAGRREmGAAZVyACg1msoxmxM979.png

我们双击USBPcap2可以看到抓到了数据

其中2.6.3正好对应的是我们这个设备其中2对应PORT2 6对应USB设备地址为6,3对应端点3

poYBAGRREmaAN76WACkNVPubGiU668.png

我们也可以使用usb.addr==2.6.3进行过滤

点击包可以显示解析的信息和原始数据如下

pYYBAGRREmuAd6DgACyi9TDYyEM734.png

文档

USBPcap没有完整的文档,只能去官网看一些相关的信息https://desowin.org/usbpcap/tour.html。Wireshark有完善的文档可以参考https://www.wireshark.org/docs/

https://www.wireshark.org/docs/wsdg_html_chunked/ChapterDissection.html

总结

Wireshark使用USBPcap抓包相对于Bus Hound的优点是有更详细的协议解析,缺点是不能进行数据发送调试。

Wireshark虽然以以太网抓包闻名于江湖,尤其是其包分析能力,借助USBPcap其也在USB抓包领域也占有一席之地。好比“以气为体、以剑为用”,以气御剑,气就是Wireshark强大的包解析能力,USBPcap就是剑,以USBPcap为剑即能抓取解析USBPcap,以NPcap,WinPcap为剑即能抓取分析以太网包。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    59

    文章

    7432

    浏览量

    258136
  • 软件
    +关注

    关注

    67

    文章

    4348

    浏览量

    85621
  • Wireshark
    +关注

    关注

    0

    文章

    46

    浏览量

    6449
收藏 人收藏

    评论

    相关推荐

    wireshark2——ubuntu系统下wireshark普通用户设置

    权限 ) 4、将需要使用的普通用户名加入wireshark用户组,我的用户是“dengyi”(需要根据具体用户名修改!),则需要使用命令: sudo gpasswd -a dengyi wireshark 这样就完成了,以普通用户dengyi登陆打开
    发表于 01-08 10:19

    京微雅格 (Capital-Micro) - CME-M7(华山)开发板资料

    `CME-M7(华山)开发板资料感谢京微雅格提供大赛用开发板数据下载CME-M7(华山)集成了主流的ARM Cortex-M3内核和高性能FPGA。其中FPGA部分采用高达12K容量的新型LP
    发表于 05-04 14:38

    WIZnet芯片通讯时怎么?

    `Q:WIZnet芯片进行公网通讯或者芯片间通讯的话怎么?A:芯片和PC通讯的话可以直接通过Wireshark,如果芯片和公网直接通
    发表于 03-13 11:32

    加密后分析的问题?

    请问一下,我的zigbee设备全部都开启了加密, 使用软件的时候,数据都是加密的,我应该怎么解密
    发表于 06-01 14:22

    Hollong 蓝牙4.0/4.1/4.2 BLE协议监控分析

    , LINUX, MAC 操作系统,方便在同一个电脑下工作;- 超便携的尺寸,是在任何环境下工作的完美工具;- 同时对37,38,39个频道进行监控
    发表于 10-27 10:37

    Hollong蓝牙4.0/4.1/4.2 BLE协议监控分析

    下工作;- 超便携的尺寸,是在任何环境下工作的完美工具;- 同时对37,38,39个频道进行监控包成功率提高3倍;- 设置极其简单
    发表于 11-09 09:29

    Hollong蓝牙4.0/4.1/4.2 BLE协议监控分析

    , LINUX, MAC 操作系统,方便在同一个电脑下工作;- 超便携的尺寸,是在任何环境下工作的完美工具;- 同时对37,38,39个频道进行监控
    发表于 11-13 10:08

    wireshark数据分析问题

    用网络调试助手作为Tcp Server给STM32F429发送数据,每次传输完21845bytes后,就出现问题。用WireShark的数据有些不太理解。上图为用串口调试助手调试后的信息,每次传输到21846bytes就接收
    发表于 04-08 04:35

    请问wireshark很慢,一两秒才抓到一个,要怎么设置呢?

    wireshark安装在virtual的ubuntu里,WIFI模块发出来的TCP,WIFI模块每15ms会发一个1000Byte的TCP,但是
    发表于 08-06 08:00

    如何使用WireShark进行网络

      如何使用WireShark进行网络:准备工作、wireshark 主界面介绍、封包列表介绍
    发表于 04-02 07:05

    如何去使用Wireshark工具

    Wireshark是什么?怎样去安装一种Wireshark工具?如何去使用Wireshark
    发表于 09-17 06:31

    空口方式和wireshank分析工具使用介绍

    主要介绍下最近使用中感觉很万能的空口方式和wireshank分析工具使用;目的:抓取各种设备网络通信过程中数据,定位并
    发表于 01-18 09:11

    MCU_Wireshark USB的过程是怎样的?

    MCU_Wireshark USB的过程是怎样的?
    发表于 02-11 07:38

    LabVIEW数据文件格式之华山论剑

    LabVIEW数据文件格式之华山论剑Labview介绍
    发表于 11-20 14:04 7次下载

    wireshark是什么软件 wireshark安装教程

    使电工用来测量进入电信 的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark 出现以后,这种现状得以改变。 Wireshark 可能算得上是今天能
    发表于 09-13 16:26 0次下载