背景:

  最近在研究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. HDU 5908 Abelian Period(暴力+想法题)

    传送门 Description Let S be a number string, and occ(S,x) means the times that number x occurs in S. i. ...

  2. 演示get、post请求如何算sn,算得sn如何使用

    import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.UnsupportedEncoding ...

  3. C++ 动态数组实例

    一维动态数组的实例: #include <iostream> using namespace std; int main() { int *arr; int n; cout<< ...

  4. Mysql学习笔记(八)由触发器回顾外键约束中的级联选项

    近些天都没有写博客.在学习mysql的知识,通过学习和练习,也熟悉了mysql的函数.触发器.视图和存储过程.并且在实际的开发过程中也应用了一小部分.效果还是十分理想的. 今天晚上在学习触发器模仿in ...

  5. POJ 2752Seek the Name, Seek the Fame(next数组妙用 + 既是前缀也是后缀)

    题目链接 题意:求一个字符串中 前缀 和 后缀 相同的长度 分析: 对于一个字符串他自己的长度肯定是可以的.然后如果满足 前缀 和 后缀相等,那个前缀 最后一个字符 一定 和 该字符串最后一个字符相等 ...

  6. FFT质数打表程序

    #include<bits/stdc++.h> using namespace std; typedef long long ll; void sol(ll x){ int y=0; fo ...

  7. WPF:父窗口与子窗口的层次关系

    关于子窗体的层级关系总结一下哈,希望能对大家有些帮助 假设有这样两个窗体:RootWindow,SubWindow,在RootWindow中引发某事件而显示SubWindow 1,如果弹出窗体(比如S ...

  8. Laravel教程 七:表单验证 Validation

    Laravel教程 七:表单验证 Validation 此文章为原创文章,未经同意,禁止转载. Laravel Form 终于要更新这个Laravel系列教程的第七篇了,期间去写了一点其他的东西. 就 ...

  9. oc必须知道的知识点

    id数据类型 1.通用的指针类型 2.没有*号 3.使用id类型时,不能给对象的属性或成员变量进行赋值 4.可以对其发送任何(存在的)消息   import与@class的区别 1.import会包含 ...

  10. JSP 核心标签库

    1 JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 2 JSTL标签库分类 核心标 ...