不错的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  [email protected]@‘...         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

时间: 2024-10-02 09:07:24

不错的usb分析工具!!!---用bus hound分析usb的枚举过程【转】的相关文章

自然语言分析工具Hanlp依存文法分析python使用总结(附带依存关系英文简写的中文解释)

最近在做一个应用依存文法分析来提取文本中各种关系的词语的任务.例如:text='新中国在马克思的思想和恩格斯的理论阔步向前': ps:这里马克思和恩格斯原来我是用的毛zd和邓xp,但是系统说这两个名字违规了........我很爱国的好不好!!!!!! 我需要提取这个text中的并列的两个关系,从文中分析可知,"马克思的思想"和"恩格斯的理论"是两个并列关系的短语,所以想要将其提取出来: 首先大致了解一下依存文法分析的前提条件,将句子分词并进行词性标注,这一步非常关键

USB抓包工具--Bus Hound的使用方法详解

概述 Bus Hound是一个超级软件总线协议分析器,用于捕捉来自设备的协议包和输入输出操作.该软件是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名"hound"的中文意思为"猎犬",即指其能敏锐地感知到总线的丝毫变化. 本文档是对USB控制开发软件-Bus Hound的使用方法的总结.适用于正在学习USB总线驱动的技术工程师. USB捕捉数据的过程 选择要捕捉的设备 启动Bus Hound软件,将USB设备插入电脑.如

[高级]性能分析工具TraceView

TraceView 是 Android 平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到 method.详细内容参考:Profiling with Traceview and dmtracedump TraceView 简介 TraceView 是 Android 平台特有的数据采集和分析工具,它主要用于分析 Android 中应用程序的 hotspot.TraceView 本身只是一个数据分析工具,而数据的采集则需要使用 Android S

Visual Studio代码性能分析工具

AMD CodeXL 2011年发布的AMD CodeAnalyst Performance Analyzer 现在已经被AMD CodeXL所替代.AMD CodeXL的主要目的是帮助开发者更好利用CPU, GPU和APU的计算性能,具有强大的GPU调试.CPU和GPU代码分析.及静态的OpenCL内核性能分析等能力. AMD提供了支持Windows 7.Windows 8和Linux系统的单机版CodeXL分析工具.在Visual Studio 2010,2012和2013上也有AMD Co

11个Visual Studio代码性能分析工具

软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程.MSDN杂志2011年7月份曾发布主题为“.NET代码分析工具和技术”的那一期,让广大程序员收获颇丰.四年过去之后,这些工具又进一步做出了很多改进,同时也出现了更多的选择.本文对当前主流的一些Visual Studio代码性能分析工具进行简单的梳理

11 个 Visual Studio 代码性能分析工具

软件开发中的性能优化对程序猿来说是一个很重要的问题. 一个小问题可能成为一个大的系统的瓶颈. 可是对于程序猿来说.通过自身去优化代码是十分困难的.幸运的是.有一些很棒的工具能够帮助程序猿进行代码分析和性能測试,从而大大简化程序猿进行代码性能优化的过程.MSDN 杂志 2011 年 7 月份曾公布主题为".NET 代码分析工具和技术"的那一期.让广大程序猿收获颇丰.四年过去之后,这些工具又进一步做出了非常多改进,同一时候也出现了很多其它的选择.很多其它应用代码安全工具请点击:http:/

通过站点的訪问统计优化站点-10个免费的站点统计和分析工具

站点訪问统计能为你带来什么? 第一,查看訪问者的国家和地区: 第二,查看訪问者来源,如用是从搜索引擎,还是从其它网站的友情链接链接引入 第三,查看訪问者使用的操作系统,显示分辨率等 第四,查看站点哪些文章或页面訪问率较高,受用户欢迎 以下是10个免费的站点统计和分析工具: Google Analytics评分: 8/10 最好最著名的免费站点统计和解析工具.它尽可能提供一切你求之不得的数据.主要长处是没有不论什么限制. Google Analytics 不解析的东西: a. 你无法查看訪客的 I

[转] 用协议分析工具学习TCP/IP

一.前言 目前,网络的速度发展非常快,学习网络的人也越来越多,稍有网络常识的人都知道TCP/IP协议是网络的基础,是Internet的语言,可以说没有TCP/IP协议就没有互联网的今天.目前号称搞网的人非常多,许多人就是从一把夹线钳,一个测线器联网开始接触网络的,如果只是联网玩玩,知道几个Ping之类的命令就行了,如果想在网络上有更多的发展不管是黑道还是红道,必须要把TCP/IP协议搞的非常明白. 学习过TCP/IP协议的人多有一种感觉,这东西太抽象了,没有什么数据实例,看完不久就忘了.本文将介

Schlumberger.AquaChem.2011.1.0.40.v7地下水分析工具

Schlumberger.AquaChem.2011.1.0.40.v7地下水分析工具主要用于报告生成.水化学数据管理.地下水采样和数据分析等.它拥有一个可自定义并含有各种化学参数和物理的数据库 ,可自由模拟.绘图.计算和分析等.针对一组水质数据,可选择多种图形从不同角度来表征地下水的水文地球化学特性, 这一功能增强了软件的实用性. AquaChem拥有功能强大的计算和分析工具,可用于分析.解释和比较水质数据.这些工具不仅能进行简单的单位转换.电荷 平衡.数据统计和样本混合,还能实现许多更加复杂