【开发工具】【Bus Hound】USB抓包工具(Bus Hound)的使用

获取更多相关的嵌入式开发工具,可收藏系列博文,持续更新中:
【开发工具】嵌入式常用开发工具汇总帖


目录

Bus Hound概述

Bus Hound使用说明

settings设置 - 设置捕捉的内容

Device设置 - 设置捕捉的设备

Capture设置 - 开始捕捉数据

Save - 导出捕捉的数据


Bus Hound概述

Bus Hound是一个超级软件总线协议分析器,用于捕捉来自设备的协议包和输入输出操作。该软件是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名"hound"的中文意思为"猎犬",即指其能敏锐地感知到总线的丝毫变化。

本文档是对USB控制开发软件—Bus Hound的使用方法的总结。适用于正在学习USB总线驱动的技术工程师。


Bus Hound下载地址

BusHound v6.0.1


Bus Hound使用说明

主要介绍下Bus Hound的几个界面,各个选项的含义,以及如何设置。

settings设置 - 设置捕捉的内容

limits(设置缓冲区)

  • Capture Capacity(捕获能力): 用于捕获数据缓冲区的容量,以K为单位。
  • Max Record Length(最大记录长度): 是在传输时显示的最大字节数(设置为512可以看到完整的描述符信息)

Stop When…(设置停止条件)

用于停止捕获操作的触发条件,可对触发条件进行任何组合,只要有一个触发条件满足时,捕获操作将停止,屏幕上将用高亮红色显示对应的触发数据

  • Buffer Full(缓冲区满): 当缓冲区满时停止操作,如果未选中此选项,系统将采用滚动覆盖模式保存最近捕获到的数据
  • Not Ready(没有准备好): 遇到设备未准备好,超时,或忙的情况时停止捕获操作
  • No Media(没有媒体): 当设备返回没有媒体时,停止捕获操作
  • Media Error(媒体错误) : 当设备返回一个媒体错误时,停止捕获操作,典型情况是报告发现扇区错误
  • Hardware Error(硬件错误): 当发生硬件错误时停止捕获操作
  • Bus Reset(总线复位): 遇到总线复位操作时停止捕获操作
  • Invalid Command(非法命令): 当发现非法的命令时停止捕获操作
  • Data Overrun(数据过载): 当发生数据过载或数据欠载时,停止捕获操作
  • Vendor Error(厂商错误): 当一个独特的厂商错误出现时停止捕获操作
  • Any Other Error(任何错误发生): 当系统遇到任何种类的错误发生时停止数据捕获操作
  • Text Pattern / Hex Pattern(文本式样): 当出现定义的特殊式样的文本数据时,停止捕获操作,对于文本式样,区分大小写,检查过程遍及数据传输的每个阶段,包括命令,数据和状态阶段
  • Merge Repeated Commands(合并重复命令): 出现命令与前一命令相同的状况时,新命令将不独记录,取而代之的是,前一命令的数量值加1(去掉这个,相同的字节就不会合并)
  • Enable SoundS(执行捕获): 设定或遇到触发条件弹出设备窗口时,发出“呯”的一声

Driver I/O to Capture(设置要捕获的驱动程序)

这个选项包括了需要抓取的驱动程序类,如果取消勾选,那对应的驱动输出的所有数据都会被过滤。

不详细说明。

Phases to Capture(设置要捕获的数据包类型)

这个选项包括了Bus Hound所有能捕获的阶段列表,复选对应的选项表示进行捕获操作,清除复选框时表示不进行捕获,这个选项对于用于过滤不感兴趣(无用)数据尤为有用。

  • ATAS - ATA task file status【硬盘,ATA命令】
  • ATA - ATA task file command【硬盘,ATA命令】
  • ATP - ATA pass throuth【硬盘,ATA命令】
  • BRB - Biletooth request block【蓝牙】
  • CMD - SCSI/ATAPI command【SCSI】
  • CTL - USB control transfer【USB】USB控制传输
  • IN - Data in transfer【USB】数据输入
  • IRB - FireWire I/O request block【FireWire总线】
  • IRP - I/O request packet【I/O请求】
  • ISOC - Isochronous transter【USB】同步传输
  • LOCK - FireWire lock transaction【FireWire总线】
  • NTSTS - NT status value. 【/】
  • ok - command complete【/】
  • OUT - Data out transfer【USB】数据输出
  • RESET - bus Reset【/】复位信号
  • SENSE - SCSI sense data【SCSI】
  • SPT - SCSI pass throuth block【SCSI】
  • SRB - SCSI request block【SCSI】
  • SSTS - SCSI request block status【SCSI】
  • STAK - NT IRP stack location【I/O请求】
  • URB - USB request【USB】USB请求块
  • USTS - USB status【USB】USB状态

Ps:如果只是捕获USB相关的包,只选择:CTL、IN、OUT、URB、USTS...

Coloumn to Display(设置要纵列显示的项目)

这个选项用于设置纵列显示的项目,勾选的太多,显示起来会比较乱,最好只勾选几个关键的。

  • Device: 设备号(小数点后面代表端点)
  • Address: 地址(FireWire异步地址或通道号码,略)
  • Length: 数据长度
  • Phase: 捕获类型(Phases to Capture中的选项)
  • Data: 数据
  • Description: 阶段捕获数据描述
  • Delta: 相对上一次输出的时间增量
  • Cmd.Phase.Ofs(rep) Date: 软件自带帮助文档
  • Date:日期,以年月日形式出现
  • Time: 时间相位以小时:分钟:秒。毫秒形式出现
  • Driver: 驱动程序-提交命令的驱动程序

Device设置 - 设置捕捉的设备

启动Bus Hound软件,将USB设备插入电脑。如图所示,进入"Devices"目录,在"Devices"内选择要监控的设备。例如:我的设备是一个U盘,则设备为USB大容量存储设备,点击"USB大容量存储设备"图标,可以在下面的"Properties"图框内看到设备的总线类型、设备的电源以及各个端点的功能等信息。

  • Click in the check box to select a device(勾选设备,即可监听)
  • Auto select hot plugged devices(勾选自动检测设备插入拔出)
  • Properties(设备属性)(显示设备的一些细节特性)
  • Send Command(发送命令)(发送命令到设备)

Send Command - 发送命令

  • 选中需要监听的设备—-点击Send Command—-USB—-选中端点—-设置Data Length,输入发送的协议命令,点击Run,显示Complete
  • 选中需要监听的设备—-点击Send Command—-USB—-点击Reset Device,复位设备
  • 选中需要监听的设备—-点击Send Command—-USB—-点击Hot Plug,热插拔
  • 切至Capture,查看捕获的数据。
  • Ps:直接在下面的"Hex Bytes"框中可以输入数据。框中的部分既是数据输入部分,直接输入数值就可以。最后点击 “RUN” 完成发送。


Capture设置 - 开始捕捉数据

在“Capture”目录中,点击“Run”按钮,开始捕捉数据。在“Find”搜索框中输入要搜索的内容,点击旁边的上下搜索箭头,可搜索数据。例如:在搜索框输入GET DESCRIPTOR,点击Find旁边的上下搜索箭头,可查询包含GET DESCRIPTOR的数据。点击“Stop”按钮,可以停止捕捉数据,再按“Run”可以清除所有数据并重新开始捕捉数据。


Save - 导出捕捉的数据

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evan_ZGYF丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值