不错的usb分析工具!!!---用bus hound分析usb的枚举过程【转】
转自:http://blog.chinaunix.net/uid-25909619-id-3335199.html
说明:由于分析时是在记事本上分析的,贴到这里出现了格式有点乱,看时请复制到记事本中,可以看到完整的格式。
Bus Hound 5.00 capture. Complements of www.perisoft.net
Device - Device ID (followed by the endpoint for USB devices)
(22) Qualcomm HS-USB Diagnostics 9025 (COM5)
Phase - Phase Type
CTL USB control transfer
DO Data out
LEN Data length
RSET bus reset
URB USB request block
Data - Hex dump of the data transferred
Descr - Description of the phase
Cmd... - Position in the captured data
Delta - Elapsed time from the previous phase to the current phase
Time - Time the phase occurred in hour:minute:second.millisec form
Date - Date the phase occurred in year/month/day form
/*说明*/
1.1.0第一个命令的第一个阶段
1.2.0第一个命令的第二个阶段
1.3.0第一个命令的0字节偏移
1.3.16第一个命令的16个字节偏移
22.0解释:22为设备加入系统的顺序号,0为端点号
22.d解释:22为设备加入系统的顺序号,d为端点号
22.9解释:22为设备加入系统的顺序号,9为端点号
Device Phase Data Description Cmd.Phase.Ofs(rep) Delta Time Date
------ ----- -------------------------------------------------- ---------------- ------------------ ----- ------------ ----------
22.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 1.1.0 14sc 06:45:32.794 2012-09-02
(80 方向:设备至主机 种类:标准 接收者:设备
(06 获得描述符
(00 01 获得的是设备描述符
(00 00 偏移为0
(12 00 要求设备返回18字节
22.0 LEN 12 00 00 00 18 1.2.0 8us 06:45:32.794 2012-09-02
(返回的字节数
22.0 DO 12 01 00 02 00 00 00 40 d1 12 00 40 27 02 01 09 .......@...@'... 1.3.0 1us 06:45:32.794 2012-09-02
03 01 .. 1.3.16
(设备的应答刚好18个字符
(bLength:12 ,此设备描述符的长度是18字节
(bDecriptorType:01 ,参照表5得知是设备描述符
(bcdUSB:00 02 ,代表USB协议的版本号,此处2.0版
(bDeviceClass:00
(bDeviceSubClass:00,表述设备类码由接口文件给出,可能是为了每个接口独立实现不同的功能。
(bDevicePortocol:00,跟前两个字节紧密联系,这里指还是等待在接口文件里再说明使用的设备协议
(bMaxPacketSize0:40,指端点0最大可接受的包大小。
(idVendor:d1 12 ,VID其实是0x12D1,字节序问题不在赘述
(idProduct:00 40 ,PID 0x4000
(bcdDevice:27 02,这个似乎没什么通用的意义
(iManufacturer:01,
(iProduct:09,
(iSerialNumber:03,
(bNumConfigurations:01
这几个数字都是索引值,如果以后主机想向设备端索要这些字符串信息(包含在字符串描述符里),就用这些值填充wIndex
22.0 URB 50 00 0b 00 00 00 00 00 56 00 69 00 64 00 5f 00 GET DEVICE DESCR 1.4.0 2us 06:45:32.794 2012-09-02
31 00 32 00 64 00 31 00 12 00 00 00 88 a1 77 8a 1.4.16
22.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 2.1.0 6us 06:45:32.794 2012-09-02
(80 方向:设备至主机 种类:标准 接收者:设备
(06 获得描述符
(00 02 获得的是配置描述符
(00 00 偏移为0
(09 00 要求设备返回9字节
22.0 LEN 09 00 00 00 9 2.2.0 3us 06:45:32.794 2012-09-02
22.0 DO 09 02 20 00 01 01 00 a0 fa .. ...... 2.3.0 1us 06:45:32.794 2012-09-02
(bLength:09
(bDescriptorType:02 这跟设备描述符都没什么区别
(wTotalLength: 20 00 ,表示包括此配置描述符、接口描述符、端点描述符和设备类及厂商定义的描述符的总长为0x0020=32个字节。
(bNumInterfaces: 01 ,支持的接口数为1
(bCongfigurationValue:01, SetConfiguration请求中用作参数来选定此配置
(iConfiguration:00,描述此配置的字串描述表索引
(bmAttributes:A0,10100000B,只看得出是D5: 远程唤醒 ,D7是保留位
(MaxPower:fa,总线耗电量为250x2=500mA.
22.0 URB 50 00 0b 00 00 00 00 00 56 00 69 00 64 00 5f 00 GET DEVICE DESCR 2.4.0 2us 06:45:32.794 2012-09-02
31 00 32 00 64 00 31 00 09 00 00 00 60 23 5a 8a 2.4.16
22.0 CTL 80 06 00 02 00 00 20 00 GET DESCRIPTOR 3.1.0 4us 06:45:32.794 2012-09-02
(80 方向:设备至主机 种类:标准 接收者:设备
(06 获得描述符
(00 02 获得的是配置描述符
(00 00 偏移为0
(20 00 要求设备返回32字节
22.0 LEN 20 00 00 00 32 3.2.0 3us 06:45:32.794 2012-09-02
22.0 DO 09 02 20 00 01 01 00 a0 fa 09 04 00 00 02 08 06 .. ............. 3.3.0 0us 06:45:32.794 2012-09-02
50 09 07 05 8d 02 00 02 00 07 05 09 02 00 02 01 P............... 3.3.16
第一部分09 02 20 00 01 01 00 a0 fa
(bLength:09
(bDescriptorType:02 这跟设备描述符都没什么区别
(wTotalLength: 20 00 ,表示包括此配置描述符、接口描述符、端点描述符和设备类及厂商定义的描述符的总长为0x0020=32个字节。
(bNumInterfaces: 01 ,支持的接口数为1
(bCongfigurationValue:01, SetConfiguration请求中用作参数来选定此配置
(iConfiguration:00,描述此配置的字串描述表索引
(bmAttributes:A0,10100000B,只看得出是D5: 远程唤醒 ,D7是保留位
(MaxPower:fa,总线耗电量为250x2=500mA.
第二部分09 04 00 00 02 08 06 50 09 是接口描述符(Interface Descriptor),见表10
bLength:09
bDescriptorType:04,接口描述符
bInterfaceNumber:00 ,当前配置的是0号接口(第一个接口)
bAlternateSetting:00,可选设置的索引值,还不清楚具体意义
bNumEndpoints:02,此接口用的端点数量为2
bInterfaceClass:08 ,
bInterfaceSubClass:06,
bInterfaceProtocol:50 ,
iInterface:09, 是一个字符串索引
第三部分07 05 8d 02 00 02 00是端点描述符(EndPont Descriptor)
bLength:07
bDescriptorType:05
bEndpointAddress:8d,端点地址0xd,入端点
bmAttributes:02 ,位图,批量传送
wMaxPacketSize:00 02 ,当前配置下此端点能够接收或发送的最大数据包的大小为512
bInterval:00
第四部分07 05 09 02 00 02 01是端点描述符(EndPont Descriptor)
bLength:07
bDescriptorType:05
bEndpointAddress:09,端点地址0x9,出端点
bmAttributes:02 ,位图,批量传送
wMaxPacketSize:00 02 ,当前配置下此端点能够接收或发送的最大数据包的大小为512
bInterval:01 轮询的间隔为1ms,就是说1ms发生一次中断
22.0 URB 50 00 0b 00 00 00 00 00 56 00 69 00 64 00 5f 00 GET DEVICE DESCR 3.4.0 1us 06:45:32.794 2012-09-02
31 00 32 00 64 00 31 00 20 00 00 00 a0 47 c4 8a 3.4.16
22.0 CTL 00 09 01 00 00 00 00 00 SET CONFIG 4.1.0 6us 06:45:32.794 2012-09-02
(00 D7: 传输方向;0=主机至设备 种类;0=标准 接受者;0=设备
(09为set config
(01 00为配置值
(00 00
(00 00
22.0 URB 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 SELECT CONFIG 4.2.0 3us 06:45:32.794 2012-09-02
a0 47 c4 8a f8 c8 81 8a 38 00 00 00 08 06 50 00 4.2.16
22.0 CTL 00 03 01 00 00 00 00 00 SET FEATURE 5.1.0 19us 06:45:32.794 2012-09-02
(00 D7: 传输方向;0=主机至设备 种类;0=标准 接受者;0=设备
(03为set feature
(01 00为特性选择符,设备
(00 00
(00 00
22.0 URB 50 00 08 00 00 00 00 00 00 82 52 8a 20 00 00 00 CONTROL TRANSFER 5.2.0 374us 06:45:32.794 2012-09-02
18 82 52 8a 0a 00 00 00 00 00 00 00 00 00 00 00 5.2.16
22.d RSET 6.1.0 10us 06:45:32.794 2012-09-02
(重启端点d
22.d URB 18 00 1e 00 00 00 00 00 00 82 52 8a 10 00 00 00 RESET PIPE 6.2.0 364us 06:45:32.795 2012-09-02
1c 24 10 8a 73 00 00 00 6.2.16
22.9 RSET 7.1.0 6us 06:45:32.795 2012-09-02
(重启端点9
22.9 URB 18 00 1e 00 00 00 00 00 00 82 52 8a 10 00 00 00 RESET PIPE 7.2.0 364us 06:45:32.795 2012-09-02
3c 24 10 8a 73 00 00 00 7.2.16
不错的usb分析工具!!!---用bus hound分析usb的枚举过程【转】的更多相关文章
- 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace(转)
源:分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace Bus Hound官方下载地址:http://perisoft.net/bushound/Bus Hound ...
- 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace【转】
转自:http://bbs.armfly.com/read.php?tid=15377 Bus Hound官方下载地址:http://perisoft.net/bushound/ Bus Hound ...
- 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace
Bus Hound官方下载地址:http://perisoft.net/bushound/Bus Hound 简易使用手册:bus_hound5.0中文使用说明.pdf (246 K) 下载次数:9 ...
- 自然语言分析工具Hanlp依存文法分析python使用总结(附带依存关系英文简写的中文解释)
最近在做一个应用依存文法分析来提取文本中各种关系的词语的任务.例如:text=‘新中国在马克思的思想和恩格斯的理论阔步向前’: 我需要提取这个text中的并列的两个关系,从文中分析可知,“马克思的思想 ...
- Bus Hound 的使用方法
背景: 最近在研究USB相关协议,需要对USB数据进行抓取分析,Bus Hound是个非常赞的工具,在此将其使用方法记录下来,以备下次快速上手使用. 正文: 主界面如下: 首先关注菜单栏三个选项: C ...
- Java 性能分析工具 , 第 3 部分: Java Mission Control
引言 本文为 Java 性能分析工具系列文章第三篇,这里将介绍如何使用 Java 任务控制器 Java Mission Control 深入分析 Java 应用程序的性能,为程序开发人员在使用 Jav ...
- 11个Visual Studio代码性能分析工具
软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和 ...
- CLR Profiler 性能分析工具
CLR Profiler 性能分析工具 CLR Profiler 性能分析工具 CLR Profiler 有两个版本,分别用于CLR1.1 和 CLR2.0,至于CLR4试了一些也可以,但不知道是否完 ...
- nginx日志简单分析工具
自己有个tony6.com的服务器,上面挂着我的博客,web服务器是nginx. 由于最近一直在折腾python,所以简单写了个nginx日志分析工具,它可以分析出每个IP的点击数量和IP所在地. # ...
随机推荐
- poj 3111 卖珠宝问题 最大化平均值
题意:有N件分别价值v重量w的珠宝,希望保留k件使得 s=v的和/w的和最大 思路:找到贡献最大的 设当前的s为mid(x) 那么贡献就是 v-w*x 排序 ,取前k个 bool operator&l ...
- BZOJ 5004: 开锁魔法II
比较显然 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; i ...
- Java学习笔记17---成员方法的重载与重写
重载是指,一个类中定义了一个成员方法后,通过修改参数个数.参数类型或参数顺序,重新实现该方法,则这两个方法互为对方的重载方法. 重写是指,子类重新实现父类的成员方法. 重载后的方法,与原方法相比: ( ...
- PowerDesigner常用功能总结
1.PowerDesigner设计表时显示注释列Comment 选中准备编辑的表,[右键]->[Properties]->[Columns]->[Customize Columns ...
- 剑指Offer - 九度1350 - 二叉树的深度
剑指Offer - 九度1350 - 二叉树的深度2013-11-23 00:54 题目描述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的 ...
- Pascal ASCII和文本的转换
用于帮助新手理解ASCII码和字符型与整型的一段小程序,转载请注明出处 例如:输入 I love you 打印 73 32 108 111 118 101 32 121 111 117 13 10 P ...
- shell脚本获取网页快照并生成缩略图
获取网页快照并生成缩略图可分两步进行: 1.获取网页快照 2.生成缩略图 获取网页快照 这里我们用 phantomjs 来实现.关于 phantomjs 的详细用法可参考官方网站. 1.安装 我的环境 ...
- HTML DOM简易学习笔记
文字版:https://github.com/songzhenhua/github/blob/master/HTML DOM简易学习笔记.txt 学习地址:http://www.w3school.co ...
- python基础实践(四)
# -*- coding:utf-8 -*-# Author:sweeping-monkwhy = "为什么要组织列表?"print(why)Chicken_soup = &quo ...
- Linux认知之旅【04 进一步了解目录】!
一.目录是什么? 二.不得不提的文件系统! 三.绝对路经,相对路径