利用串口和 USBlyzer 的 USB 抓包协议分析(2)

本文详细解析了使用USBlyzer进行USB协议抓包分析的过程,包括设备描述符、配置描述符及报告描述符的获取,展示了数据传输方向、请求类型及长度等关键字段的含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 USBlyzer 抓包协议分析

  • USB 数据是小端模式
    小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。

1.1 USB 请求

在这里插入图片描述
在这里插入图片描述


1. 获取设备描述符
在这里插入图片描述

  • 首先接收到主机发送的 USB 请求 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00
    在这里插入图片描述

DEVICE_DESCRIPTOR     			0x01
CONFIGURATION_DESCRIPTOR 		0x02
STRING_DESCRIPTOR				0x03
INTERFACE_DESCRIPTOR			0x04
ENDPOINT_DESCRIPTOR				0x05


说明
bmRequest0x80数据传输方向是设备到主机
bRequest0x06主机获取描述符
wValue0x0100高字节01,表示设备描述符
wIndex0x0000
wLength0x0040请求返回的数据 64 字节

然后给主机发送 18 字节的设备描述符。


2. 主机发送设置地址的请求
在这里插入图片描述
在这里插入图片描述


说明
bmRequest0x00传输方向主机到设备
bRequest0x05设置地址
wValue0x0025地址值为 37
wIndex0x0000
wLength0x0000

3. 设置地址后重新请求设备描述符
在这里插入图片描述


说明
bmRequest0x80数据传输方向是设备到主机
bRequest0x06主机获取描述符
wValue0x0100高字节01,表示设备描述符
wIndex0x0000
wLength0x0012请求返回的数据 18 字节

USBlyzer 抓包的数据分析
在这里插入图片描述

  • 返回给主机的设备描述符在这里插入图片描述
  • 数据包分析结果
    在这里插入图片描述

4. 获取设备描述符后,获取配置描述符
在这里插入图片描述


说明
bmRequest0x80数据传输方向是设备到主机
bRequest0x06主机获取描述符
wValue0x0200高字节02,表示配置描述符
wIndex0x0000
wLength0x0022请求返回的数据 255 字节

USBlyzer 抓包结果
在这里插入图片描述

  • 发送到主机的设备描述符
    在这里插入图片描述
  • 数据包分析结果
    在这里插入图片描述
    在这里插入图片描述

5. 获取报告描述符
在这里插入图片描述


说明
bmRequest0x81数据传输方向是设备到主机,1-接口
bRequest0x06主机获取描述符
wValue0x2200高字节22,表示报告描述符
wIndex0x0000
wLength0x0072请求返回的数据 114 字节

USBlyzer 抓包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 发送数据

在这里插入图片描述
在这里插入图片描述

  • 向上移动数据包分析
    在这里插入图片描述
    在这里插入图片描述

  • 向右移动数据包分析
    在这里插入图片描述
    在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值