Bus Hound数据分析

Bus Hound是一款在pc上就可以抓包的usb辅助工具,做usb开始手头没有专用抓包工具时可以偶尔一用。

这里把几个需要注意的地方:

1.自动检测设备的插入拔出

Devices->Auto select host plugged devices


2.设置抓包的长度和缓冲大小

Settings ->Limits->Capture Capacity
Settings ->Limits->Max Record Length


3.这里可以设置启动和停止

Capture->Run
Capture->Stop

4.点击保存可以导出数据


5.抓取分析的一段数据

[plain]  view plain  copy
  1. Bus Hound 6.01 capture on Windows Vista (x86). Complements of www.perisoft.net  
  2.   
  3. 333  
  4.   
  5.   Device - Device ID (followed by the endpoint for USB devices)  
  6.             (23) USB 大容量存储设备  
  7.             (24) hp v229g [ROM=1100]  
  8.             (25) USB Composite Device  
  9.             (26) USB 输入设备  
  10.             (27) USB 输入设备  
  11.             (28) HID Keyboard Device  
  12.             (29) 符合 HID 标准的用户控制设备  
  13.             (30) HID-compliant device  
  14.             (31) 符合 HID 标准的用户控制设备  
  15.             (32) USB Composite Device  
  16.             (33) Webcam C170  
  17.             (34) Webcam C170  
  18.   Phase  - Phase Type  
  19.             CTL   USB control transfer         
  20.             IN    Data in transfer             
  21.             OUT   Data out transfer            
  22.   Data   - Hex dump of the data transferred  
  23.   Descr  - Description of the phase  
  24.   Cmd... - Position in the captured data  
  25.   
  26.   
  27. Device  Phase  Data                                                Description       Cmd.Phase.Ofs(rep)  
  28. ------  -----  --------------------------------------------------  ----------------  ------------------  
  29.   25.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR           1.1.0          
  30. //requesttype 0x80:设备到主机,标准请求,请求对象是设备  
  31. //request     0x06:获取设备描述符  
  32. //value       0x0100:小端模式,索引号0,获取设备描述符01  
  33. //index       0x0000:小端模式,  
  34. //length      0x0012:小端模式,获取18个字节  
  35.   
  36.   25.0  IN     12 01 10 01  00 00 00 08  6d 04 1c c3  00 64 01 02  ........m....d..         1.2.0          
  37.                00 01                                               ..                       1.2.16         
  38. //bLength           0x12:描述符长度  
  39. //bDescriptorType   0x01:设备描述符  
  40. //bcdUSB            0x0110:usb1.1   
  41. //bDeviceClass      0x00:类代码  
  42. //bDeviceSubClass   0x00:子类代码  
  43. //bDeviceProtocol   0x00:设备使用的协议  
  44. //bMaxPacketSize0   0x08:端点0的最大包长  
  45. //idVendor          0x046d:厂商ID  
  46. //idProduct         0xc31c:产品ID  
  47. //bcdDevice         0x6400:设备版本号  
  48. //iManufacturer     0x01:厂商字符串索引值  
  49. //iProduct          0x02:产品字符串索引值  
  50. //iSerialNumber     0x00:序列号,无序列号索引字符串  
  51. //bNumConfigurations0x01:一种配置  
  52.   
  53.   25.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR           2.1.0          
  54. //获取9个字节的配置描述符  
  55.     
  56.   25.0  IN     09 02 3b 00  02 01 03 a0  2d                        ..;.....-                2.2.0          
  57. //bLength 长度为9  
  58. //bDescriptorType 类型为配置描述符02  
  59. //wTotalLength 总长度为59  
  60. //bNumInterfaces 接口数2  
  61. //bConfigurationValue 配置值1  
  62. //iConfiguration 字符串索引3  
  63. //bmAttributes 总线供电,支持远程唤醒  
  64. //MaxPower 45*2mA  
  65.   
  66.   25.0  CTL    80 06 00 02  00 00 3b 00                            GET DESCRIPTOR           3.1.0          
  67. //获取59个字节的配置描述符  
  68.     
  69.   25.0  IN     09 02 3b 00  02 01 03 a0  2d 09 04 00  00 01 03 01  ..;.....-.......         3.2.0          
  70.                01 02 09 21  10 01 00 01  22 41 00 07  05 81 03 08  ...!...."A......         3.2.16         
  71.                00 0a 09 04  01 00 01 03  00 00 02 09  21 10 01 00  ............!...         3.2.32         
  72.                01 22 9f 00  07 05 82 03  04 00 ff                  .".........              3.2.48         
  73. //09 02 3b 00 02 01 03 a0 2d配置描述符  
  74. //09 04 00 00 01 03 01 01 02 接口描述符  
  75.     //长度0x09 接口描述符类型0x04  该接口编号0 该接口备用编号0 使用端点数1 接口类3 接口子类1 协议1 字符串索引2   
  76. //09 21 10 01 00 01  22 41 00 HID描述符   
  77.     //长度0x09 HID描述符类型0x21  HID协议版本0x0110 国家代码00 下级描述符数量01 下级描述符类型0x22(报告描述符) 下级描述符长度0x41       
  78. //07 05 81 03 08 00 0a端点描述符  
  79.     //长度为07 类型为05端点描述符 端点地址为1方向为输入 最大包长为08 查询间隔10  
  80. //09 04 01 00 01 03  00 00 02 接口描述符  
  81.     //长度0x09 接口描述符类型0x04  该接口编号1 该接口备用编号0 使用端点数1 接口类3 接口子类0 协议0 字符串索引2   
  82. //09 21 10 01 00 01 22 9f 00    
  83.     //长度0x09 HID描述符类型0x21  HID协议版本0x0110 国家代码00 下级描述符数量01 下级描述符类型0x22(报告描述符) 下级描述符长度0x9f   
  84. //07 05 82 03 04 00 ff               
  85.     //长度为07 类型为05端点描述符 端点地址为2方向为输入 最大包长为04 查询间隔ff  
  86.       
  87.   25.0  CTL    81 06 00 22  00 00 00 04                            GET DESCRIPTOR           4.1.0          
  88. //获取4个字节的HID描述符  
  89.                  
  90.   25.0  IN     05 01 09 06  a1 01 05 07  19 e0 29 e7  15 00 25 01  ..........)...%.         4.2.0          
  91.                75 01 95 08  81 02 95 01  75 08 81 01  95 05 75 01  u.......u.....u.         4.2.16         
  92.                05 08 19 01  29 05 91 02  95 01 75 03  91 01 95 06  ....).....u.....         4.2.32         
  93.                75 08 15 00  26 ff 00 05  07 19 00 2a  ff 00 81 00  u...&......*....         4.2.48         
  94.                c0                                                  .                        4.2.64         
  95. //65字节的HID Report描述符  
  96. //0x 5,0x       1// USAGE_PAGE (Generic Desktop)  
  97. //0x 9,0x       6// USAGE(Keyboard)  
  98. //0xa1,0x       1// COLLECTION (Application)  
  99. //0x 5,0x       7// USAGE_PAGE (Keyboard/keypad)  
  100. //0x19,0x      e0//USAGE_MINIMUM// USAGE(See the spec)  
  101. //0x29,0x      e7//USAGE_MAXIMUM// USAGE(See the spec)  
  102. //0x15,0x       0//LOGICAL_MINIMUM (0)  
  103. //0x25,0x       1//LOGICAL_MAXIMUM (1)  
  104. //0x75,0x       1//REPORT_SIZE (1)  
  105. //0x95,0x       8//REPORT_COUNT (8)  
  106. //0x81,0x       2//Input(Data Var Abs )  
  107. /*E0~E7:Control Alt Shift等,一个按键对应一个report counte*/  
  108.   
  109. //0x95,0x       1//REPORT_COUNT (1)  
  110. //0x75,0x       8//REPORT_SIZE (8)  
  111. //0x81,0x       1//Input(Con Arr Abs )  
  112. /*8个bit填充*/  
  113.   
  114. //0x95,0x       5//REPORT_COUNT (5)  
  115. //0x75,0x       1//REPORT_SIZE (1)  
  116. //0x 5,0x       8// USAGE_PAGE (LEDs)  
  117. //0x19,0x       1//USAGE_MINIMUM// USAGE(See the spec)  
  118. //0x29,0x       5//USAGE_MAXIMUM// USAGE(See the spec)  
  119. //0x91,0x       2//Ouput(Data Var Abs )  
  120. /*输出5个bit*/  
  121.   
  122. //0x95,0x       1//REPORT_COUNT (1)  
  123. //0x75,0x       3//REPORT_SIZE (3)  
  124. //0x91,0x       1//Ouput(Con Arr Abs )  
  125. /*输出3个bit填充*/  
  126.   
  127. //0x95,0x       6//REPORT_COUNT (6)  
  128. //0x75,0x       8//REPORT_SIZE (8)  
  129. //0x15,0x       0//LOGICAL_MINIMUM (0)  
  130. //0x26,0x      ff//LOGICAL_MAXIMUM (255)  
  131. //0x 5,0x       7// USAGE_PAGE (Keyboard/keypad)  
  132. //0x19,0x       0//USAGE_MINIMUM// USAGE(See the spec)  
  133. //0x2a,0x      ff//USAGE_MAXIMUM// USAGE(See the spec)  
  134. //0x81,0x       0//Input(Data Arr Abs )  
  135. /*6个字节,每个字节从usagemin和usagemax中选择*/  
  136.   
  137. //0xc0,//END_COLLECTION  
  138.   
  139. //input  
  140. //data[0]:一一对应  
  141. //data[1]:填充  
  142. //data[2]:set   
  143. //data[3]:set   
  144. //data[4]:set   
  145. //data[5]:set   
  146. //data[6]:set   
  147. //data[7]:set   
  148.   
  149. //output  
  150. //data[0]  
  151.                   
  152.   25.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR           5.1.0          
  153.   25.0  IN     12 01 10 01  00 00 00 08  6d 04 1c c3  00 64 01 02  ........m....d..         5.2.0          
  154.                00 01                                               ..                       5.2.16         
  155.   25.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR           6.1.0          
  156.   25.0  IN     09 02 3b 00  02 01 03 a0  2d                        ..;.....-                6.2.0          
  157.   25.0  CTL    80 06 00 02  00 00 3b 00                            GET DESCRIPTOR           7.1.0          
  158.   25.0  IN     09 02 3b 00  02 01 03 a0  2d 09 04 00  00 01 03 01  ..;.....-.......         7.2.0          
  159.                01 02 09 21  10 01 00 01  22 41 00 07  05 81 03 08  ...!...."A......         7.2.16         
  160.                00 0a 09 04  01 00 01 03  00 00 02 09  21 10 01 00  ............!...         7.2.32         
  161.                01 22 9f 00  07 05 82 03  04 00 ff                  .".........              7.2.48         
  162.     
  163.   25.0  CTL    00 09 01 00  00 00 00 00                            SET CONFIG               8.1.0          
  164. //设置配置描述符为00  
  165.     
  166.   25.0  CTL    80 06 02 03  09 04 04 00                            GET DESCRIPTOR           9.1.0(2)       
  167.   25.0  IN     1a 03 55 00                                         ..U.                     9.2.0          
  168.   25.0  CTL    80 06 02 03  09 04 1a 00                            GET DESCRIPTOR          10.1.0(2)       
  169.  //获取字符串描述符,索引号为02,语言ID为0409  
  170.    
  171.   25.0  IN     1a 03 55 00  53 00 42 00  20 00 4b 00  65 00 79 00  ..U.S.B. .K.e.y.        10.2.0          
  172.                62 00 6f 00  61 00 72 00  64 00                     b.o.a.r.d.              10.2.16         
  173. //字符串长度为1a,字符串描述符类型为03,数据  
  174.   
  175.   
  176.   
  177. 27.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR          19.1.0          
  178.   27.0  IN     12 01 10 01  00 00 00 08  6d 04 1c c3  00 64 01 02  ........m....d..        19.2.0          
  179.                00 01                                               ..                      19.2.16         
  180.   27.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR          20.1.0          
  181.   27.0  IN     09 02 22 00  01 01 03 a0  2d                        ..".....-               20.2.0          
  182.   27.0  CTL    80 06 00 02  00 00 22 00                            GET DESCRIPTOR          21.1.0          
  183.   27.0  IN     09 02 22 00  01 01 03 a0  2d 09 04 01  00 01 03 00  ..".....-.......        21.2.0          
  184.                00 02 09 21  10 01 00 01  22 9f 00 07  05 82 03 04  ...!....".......        21.2.16         
  185.                00 ff                                               ..                      21.2.32         
  186.   27.0  CTL    00 09 01 00  00 00 00 00                            SET CONFIG              22.1.0          
  187.   27.0  CTL    21 0a 00 00  01 00 00 00                            SET IDLE                23.1.0          
  188.   27.0  CTL    81 06 00 22  01 00 df 00                            GET DESCRIPTOR          24.1.0          
  189.   27.0  IN     05 0c 09 01  a1 01 85 01  09 e0 15 e8  25 18 75 07  ............%.u.        24.2.0          
  190.                95 01 81 06  15 00 25 01  75 01 09 e2  81 06 c0 06  ......%.u.......        24.2.16         
  191.                01 00 09 80  a1 01 85 02  25 01 15 00  75 01 0a 81  ........%...u...        24.2.32         
  192.                00 0a 82 00  0a 83 00 95  03 81 06 95  05 81 01 c0  ................        24.2.48         
  193.                06 0c 00 09  01 a1 01 85  03 25 01 15  00 75 01 0a  .........%...u..        24.2.64         
  194.                b5 00 0a b6  00 0a b7 00  0a b8 00 0a  cd 00 0a e2  ................        24.2.80         
  195.                00 0a e9 00  0a ea 00 95  08 81 02 0a  83 01 0a 8a  ................        24.2.96         
  196.                01 0a 92 01  0a 94 01 0a  21 02 0a 23  02 0a 24 02  ........!..#..$.        24.2.112        
  197.                0a 25 02 95  08 81 02 0a  26 02 0a 27  02 0a 2a 02  .%......&..'..*.        24.2.128        
  198.                0a b3 00 0a  b4 00 95 05  81 02 95 03  81 01 c0     ...............         24.2.144        
  199.   
  200. 0x 5,0x       c// USAGE_PAGE (Consumer)  
  201. 0x 9,0x       1// USAGE(See the spec)  
  202. 0xa1,0x       1// COLLECTION (Application)  
  203. 0x85,0x       1//REPORT_ID (1)//Sean   
  204. 0x 9,0x      e0// USAGE(See the spec)  
  205. 0x15,0x      e8//LOGICAL_MINIMUM (232)  
  206. 0x25,0x      18//LOGICAL_MAXIMUM (24)  
  207. 0x75,0x       7//REPORT_SIZE (7)  
  208. 0x95,0x       1//REPORT_COUNT (1)  
  209. 0x81,0x       6//Input(Data Var Rel )  
  210. /*第1个字节*/  
  211. 0x15,0x       0//LOGICAL_MINIMUM (0)  
  212. 0x25,0x       1//LOGICAL_MAXIMUM (1)  
  213. 0x75,0x       1//REPORT_SIZE (1)  
  214. 0x 9,0x      e2// USAGE(See the spec)  
  215. 0x81,0x       6//Input(Data Var Rel )  
  216. /*第1个字节*/  
  217. 0xc0,//END_COLLECTION  
  218.   
  219. 0x 6,0x       1// USAGE_PAGE (Generic Desktop)  
  220. 0x 9,0x      80// USAGE(See the spec___________-:128)  
  221. 0xa1,0x       1// COLLECTION (Application)  
  222. 0x85,0x       2//REPORT_ID (2)//Sean   
  223. 0x25,0x       1//LOGICAL_MAXIMUM (1)  
  224. 0x15,0x       0//LOGICAL_MINIMUM (0)  
  225. 0x75,0x       1//REPORT_SIZE (1)  
  226. 0x a,0x      81// USAGE(See the spec___________-:129)  
  227. 0x a,0x      82// USAGE(See the spec___________-:130)  
  228. 0x a,0x      83// USAGE(See the spec___________-:131)  
  229. 0x95,0x       3//REPORT_COUNT (3)  
  230. 0x81,0x       6//Input(Data Var Rel )  
  231. /*第2个字节*/  
  232.   
  233. 0x95,0x       5//REPORT_COUNT (5)  
  234. 0x81,0x       1//Input(Con Arr Abs )  
  235. /*第2个字节*/  
  236.   
  237. 0xc0,//END_COLLECTION  
  238. 0x 6,0x       c// USAGE_PAGE (Consumer)  
  239. 0x 9,0x       1// USAGE(See the spec)  
  240. 0xa1,0x       1// COLLECTION (Application)  
  241. 0x85,0x       3//REPORT_ID (3)//Sean   
  242. 0x25,0x       1//LOGICAL_MAXIMUM (1)  
  243. 0x15,0x       0//LOGICAL_MINIMUM (0)  
  244. 0x75,0x       1//REPORT_SIZE (1)  
  245. 0x a,0x      b5// USAGE(See the spec)  
  246. 0x a,0x      b6// USAGE(See the spec)  
  247. 0x a,0x      b7// USAGE(See the spec)  
  248. 0x a,0x      b8// USAGE(See the spec)  
  249. 0x a,0x      cd// USAGE(See the spec)  
  250. 0x a,0x      e2// USAGE(See the spec)  
  251. 0x a,0x      e9// USAGE(See the spec)  
  252. 0x a,0x      ea// USAGE(See the spec)  
  253. 0x95,0x       8//REPORT_COUNT (8)  
  254. 0x81,0x       2//Input(Data Var Abs )  
  255. /*第3个字节*/  
  256.   
  257. 0x a,0x     183// USAGE(See the spec)  
  258. 0x a,0x     18a// USAGE(See the spec)  
  259. 0x a,0x     192// USAGE(See the spec)  
  260. 0x a,0x     194// USAGE(See the spec)  
  261. 0x a,0x     221// USAGE(See the spec)  
  262. 0x a,0x     223// USAGE(See the spec)  
  263. 0x a,0x     224// USAGE(See the spec)  
  264. 0x a,0x     225// USAGE(See the spec)  
  265. 0x95,0x       8//REPORT_COUNT (8)  
  266. 0x81,0x       2//Input(Data Var Abs )  
  267. /*第4个字节*/  
  268.   
  269. 0x a,0x     226// USAGE(See the spec)  
  270. 0x a,0x     227// USAGE(See the spec)  
  271. 0x a,0x     22a// USAGE(See the spec)  
  272. 0x a,0x      b3// USAGE(See the spec)  
  273. 0x a,0x      b4// USAGE(See the spec)  
  274. 0x95,0x       5//REPORT_COUNT (5)  
  275. 0x81,0x       2//Input(Data Var Abs )  
  276. 0x95,0x       3//REPORT_COUNT (3)  
  277. 0x81,0x       1//Input(Con Arr Abs )  
  278. 0xc0,//END_COLLECTION  
  279. /*第5个字节*/  
  280.              
  281.  略若干字节  
  282.   26.1  IN     00 00 2c 00  00 00 00 00                            ..,.....                 1.1.0          
  283.   28    IN     01 00 39 00  00 00 00 00  00 00 00 00               ..9.........             2.1.0(189)     
  284. //按下空格键(2c)    
  285. //下面的这个怎么是12个字节,理论推断是5个,  
  286. //usage_consumer只针对特定设备的,  
  287.     
  288.   26.1  IN     00 00 00 00  00 00 00 00                            ........               191.1.0          
  289.   28    IN     01 00 39 00  01 00 00 00  00 00 00 00               ..9.........           192.1.0          
  290. //松开空格键  
  291. //  
  292.    

猜你喜欢

转载自blog.csdn.net/z_hualin/article/details/80684609