0


USB抓包分析

1、USB传输协议基本概念

    一个传输(控制、批量、中断、等时):由多个事务transaction组成; 一个事务transaction (IN、OUT、SETUP):由一多个包Packet组成。USB数据在主机与usb设备间被传输,之间的关联叫做管道pipe。一个USB设备可以有多个管道。

    包是USB总线上数据传输的最小单位,不能被打断或干扰,否则会引发错误。若干个数据包组成一次事务传输,一次事务传输也不能打断,属于一次事务传输的几个包必须连续,不能跨帧完成。一次传输由一次到多次事务传输构成,可以跨帧完成。USB包由四部分组成,即包标识符字段(PID)、数据字段、循环冗余校验字段(CRC)和包结尾字段(EOP)。

2、抓包工具准备

    (1) Wireshark,https://www.*wireshark*.org/download.html。下载安装,注意安装过程中勾选install USBPcap...

    ![](https://img-blog.csdnimg.cn/1b06fc1721254722ba2191b216bab51a.png)

    如果是已经安装wireshark,也可以另外安装usbpcap,下载地址为USBPcap download | SourceForge.net(包括wincap或者ncap都可以单独卸载或者安装,WinPcap · Download)

    (2) Bus Hound, Bus Hound 可以选择下载免费版本,但是使用时会有限制。一次抓包只能包含32的命令,每个数据传输只能抓取前8字节。 ![](https://img-blog.csdnimg.cn/847fc7cef59746a1949975711211bf5f.png)

3、使用Wireshark抓包

    打开wireshark软件,选择USBPcap*作为捕获对象,这里出现多个USBPcap接口取决于主机包含几个usb接口,需要正确选择对应需要专包的usb端口。另外,每次停止后重新抓包,建议关闭wireshark后重新打开选择接口。       

开始抓包,此时在usb端口没有插入任何设备(包括蓝牙鼠标等),结果如下。

下面是对蓝牙鼠标设备的抓包。


本文转载自: https://blog.csdn.net/ryanzzzzz/article/details/129840640
版权归原作者 搞搞搞高傲 所有, 如有侵权,请联系我们删除。

“USB抓包分析”的评论:

还没有评论