背景:

  最近在研究USB相关协议,需要对USB数据进行抓取分析,Bus Hound是个非常赞的工具,在此将其使用方法记录下来,以备下次快速上手使用。

正文:  

主界面如下:

  

首先关注菜单栏三个选项:

Capture: 数据抓取菜单选项;  Setting:设备设置菜单选项;  Devices:设备选取菜单选项。

第一步:点击“Devices”菜单选项选取设备,(选取之后,就可以监控该设备了。)

  

  根据VID/PID来单击选取要操作的设备对象,最下方 “Properties” 即所要操作的USB设备的详细信息:人机接口(HID)设备,共配置有3个端点,端点0为控制端点,大小为8bytes;端点1分别为中断OUT/IN端点,大小为64bytes。

  点击SendCommands即向USB设备发送命令,具体如何发送参见第二步。

第二步,点击“Devices”菜单页面下的“SendCommands”来向USB设备发送命令,

  

选取USB界面,要发送数据即选择OUT端点,选择发送长度(注意!不能超过端点设定大小!),填写发送数据,(此处当初也让我非常郁闷,根本没有方框填写数据好吧!!!?无意中将鼠标点击到最下面的红框内,才发现最下面框中的部分既是数据输入部分,直接输入数值就可以。)最后点击 “RUN” 完成发送。

  为了DEBUG,在下位机做了个Loopback,即将上位机发送的数据发回给上位机,如何抓取USB数据参见第四步。

第三步,点击“Setting”菜单做一些必要的设置,

  

按照自己的需求设置相应的设置,在此我也只是设置了抓取的最大包记录显示大小为64bytes。

第四步,点击“Capture”菜单选项,观察USB上传的数据。

  

即可观察到,OUT下发USB设备数据与USB设备上发的IN数据与预期相符,完全一致。

更新一下最新的发现:关于如何用BUS Hound查看USB设备的端点号。

看上图的红框内,29.1这个“.1”我原来一直忽视它,直到最近才发现,这个“.1”代表USB设备的端点号。“.1”代表USB设备端点“1”发给主机或者主机发给端点“1”的信息,其他的端点号同理。

2016-12-21

记录地点: 深圳WZ

记录时间: 2016-04-09

Bus Hound 的使用方法的更多相关文章

  1. USB抓包工具Bus Hound

    /********************************************************************** * USB抓包工具Bus Hound * 说明: * 之 ...

  2. linux下类似Bus Hound的工具

    0推荐在linux大家有时候需要调试usb接口的串口消息,但是没有类似于windows下的bus hound工具,感觉比较痛苦,其实linux内核提供了usbmon这个工具,可以收集串口信息. 1.准 ...

  3. Bus Hound抓包分析,基于HID设备(原创)

    Bus Hound数据分析: CTL:表示8字节的USB控制传输的Setup包----------------------------重点分析 控制传输setup(token包)和对应数据包(DATA ...

  4. 试用bus hound来分析STM32CubeMX来生成USB_HID_Mouse工程

    Bus Hound (x64). Complements of www.perisoft.net STM32_HID_mouse Device - Device ID (followed by the ...

  5. 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace(转)

    源:分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace Bus Hound官方下载地址:http://perisoft.net/bushound/Bus Hound ...

  6. 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace【转】

    转自:http://bbs.armfly.com/read.php?tid=15377 Bus Hound官方下载地址:http://perisoft.net/bushound/ Bus Hound ...

  7. 不错的usb分析工具!!!---用bus hound分析usb的枚举过程【转】

    转自:http://blog.chinaunix.net/uid-25909619-id-3335199.html 说明:由于分析时是在记事本上分析的,贴到这里出现了格式有点乱,看时请复制到记事本中, ...

  8. 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace

    Bus Hound官方下载地址:http://perisoft.net/bushound/Bus Hound 简易使用手册:bus_hound5.0中文使用说明.pdf (246 K) 下载次数:9  ...

  9. 串口数据监视-Bus Hound

    Bus Hound使用说明 一.打开该工具,会看到最上面的六个图标:1.Capture(捕捉按钮):按下它选择捕捉数据界面2.Save(保存按钮):按下它选择保存数据界面3.Setting(设置按钮) ...

随机推荐

  1. python range() 和xrange()的区别

    Help on built-in function range in module __builtin__: range(...) range(stop) -> list of integers ...

  2. jQuery知识点总结(第五天)

    节点的操作和数据库操作一样,无非是增.删.改.查. 今天总结删除节点.复制节点.替换节点.与包裹节点 删除节点: 如果文档中一个元素多余,那么就需要删除掉.jQuery提供了三种删除节点的方法.分别是 ...

  3. HD1160FatMouse's Speed(最长单调递增子序列)

    FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. Knockoutjs快速入门(经典)

    Knockoutjs是一个JavaScript实现的MVVM框架.主要有如下几个功能: 1. Declarative bindings 2. Observables and dependency tr ...

  5. sql between and

    sql中的 a between 'a' and 'b' 基本上是代表 'a'>=a and 'b'<=a

  6. CentOS7搭建hadoop2.6.4+HBase1.1.6

    环境: CentOS7 hadoop2.6.4两个节点:master.slave1 HBase1.1.6 过程: hadoop安装目录:/usr/hadoop-2.6.4 master节点,hadoo ...

  7. Linux 下 Oracle 内核参数优化

    数据库的性能优化涉及到整个数据库运行环境的方方面面,诸如操作系统,Oracle自身,存储,网络等等几个大块.而操作系统则是Oracle稳定运行与最大化性能的基石.本文主要描述基于Linux系统下 Or ...

  8. WebDataGrid设置某行某列的值

    <ig:WebDataGrid ID="grid"  OnRowSelectionChanged="grid_RowSelectionChanged" O ...

  9. Game Programming Pattern

    http://gameprogrammingpatterns.com/contents.html

  10. Garbage Collection C++

    http://herbsutter.com/2011/10/25/garbage-collection-synopsis-and-c/ http://www.codeproject.com/Artic ...