从Bus Hound开始学USB之U盘
文章目录
- 准备工作
- 我们的USB之旅,将从这张图开始
准备工作
一台安装了Bus Hound软件的电脑,一个U盘。
首先介绍一下Bus Hound这款软件工具,Bus Hound是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,是一个超级软件总线协议分析器,可用于捕捉来自设备的协议包和输入输出操作,本博客使用的版本是Bus Hound 6.01,软件启动界面如下图所示
接下来轮到U盘登场,将U盘插入电脑,点击Bus Hound的Devices窗口,可以看到在U盘已出现在设备列表当中
下面将[30]USB Mass Storage Device前面的方框都选上,然后拔出U盘,再依次点击Capture窗口右下角的Stop按钮和Run按钮,这时将U盘插入电脑,将在Capture窗口中显示U盘上盘后的通信过程,如下图所示
我们的USB之旅,将从这张图开始
如上图所示,红色方框为设备列,在该列显示的数据,小数点前面的数字代表设备ID,小数点后面的数字代表端点号(endpoint),关于端点号后面再介绍;蓝色方框为阶段列,这里显示的是当前抓取的数据所代表的阶段类型,CTL表示USB的控制传输(control transport),IN代表数据输入;黄色方框表示数据列,与每个阶段对应的数据显示在此列中;紫色方框为描述列,对应每个阶段的文本说明,可为我们的判断带来便利。
接下来我们将通过讲解这一行行的数据来了解USB
这是一条标准的USB请求(USB Device Requests),总共有8byte数据,USB协议中将其拆分成5个部分介绍
编号 | 名称 | 大小(byte) | 含义 |
---|---|---|---|
1 | bmRequestType | 1 |
[D7]表示数据传输方向 1:设备到主机 0:主机到设备 [D6:D5]表示请求类型 0:标准请求 1:类请求 2:厂商自定义 3:保留 [D4:D0]表示请求的接收者 0:设备 1:接口 2:端点 3:其它 4…31:保留 |
2 | bRequest | 1 | 请求的代码 |
3 | wValue | 2 | 请求的参数,不同请求含义不同,小端对齐,低字节在前,高字节在后 |
4 | wIndex | 2 | 不同请求配置不同,通常用于索引值或偏移值 |
5 | wLength | 2 | 下一阶段传输的数据量,小端对齐 |
示例1: 80 06 00 01 00 00 12 00 |
---|
80:表示数据由设备传输到主机,这是一个标准请求,接收者是一个设备 |
06:表示获取描述符的请求 |
00 01:高字节是01,表示获取设备描述符。低字节是00,表示从偏移地址0开始读取设备描述符。 |
00 00:在获取描述符的请求中,此处要么是0,要么是langaue ID。 |
12 00:描述符长度,这里表示18byte。 |
示例2: 80 06 00 02 00 00 09 00 |
---|
80:表示数据由设备传输到主机,这是一个标准请求,接收者是一个设备 |
06:表示获取描述符的请求 |
00 02:高字节是02,表示获取配置描述符。低字节是00,表示从偏移地址0开始读取设备描述符。 |
00 00:在获取描述符的请求中,此处要么是0,要么是langaue ID。 |
09 00:描述符长度,这里表示9byte。 |
示例3: 80 06 00 03 00 00 02 00 |
---|
80:表示数据由设备传输到主机,这是一个标准请求,接收者是一个设备 |
06:表示获取描述符的请求 |
00 03:高字节是03,表示获取字符串描述符。低字节是00,表示从偏移地址0开始读取设备描述符。 |
00 00:在获取描述符的请求中,此处要么是0,要么是langaue ID。 |
02 00:描述符长度,这里表示2byte。 |
从Bus Hound开始学USB之U盘相关推荐
- USB 之三 常用抓包/协议分析工具(Bus Hound、USBlyzer、USBTrace、USB Monitor Pro等)
简介 在学习 USB 时,尝试了许多工具.有些是纯软件工具,有些是需要硬件配合.以下仅仅做个记录. Bus Hound 一个比较轻量级纯软件工具,软件界面看着就像上一个世纪的风格.官网为http: ...
- BUS HOUND调试USB驱动遇到的错误代码解析
BUS HOUND调试USB驱动遇到的错误代码解析 在使用BUS HOUND调试USB驱动时,在Capture页面会遇到抓取的错误信息,错误代码会在data字段显示,根据不同的显示,含义如下: 顺便记 ...
- USB抓包工具Bus Hound
Bus Hound是一款超级软件总线协议分析器,它是一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名"hound"的中文意思为"猎犬",即指其能敏锐 ...
- Bus Hound 工具抓取串口数据(PC端抓取USB转串口数据)
测试环境: PC端 USB转串口 链接终端板卡串口 目标:抓取通信过程中的通信数据 工具介绍: Bus Hound是是由美国perisoft公司研制的一款超级软件总线协议分析器,它是一种专用于PC机各 ...
- Bus hound 监控USB
Bus hound是一款监控USB软件,Devices里勾选要监控的USB,capture里点击run开始监控数据,stop停止.但是里面的数据很多,如果只看输入输出的数据可以在setting 里面设 ...
- 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace
Bus Hound 官方下载地址:http://perisoft.net/bushound/ Bus Hound 简易使用手册: bus_hound5.0中文使用说明.pdf (246 K) 下 ...
- 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace【转】
转自:http://bbs.armfly.com/read.php?tid=15377 Bus Hound 官方下载地址:http://perisoft.net/bushound/ Bus Hound ...
- python 处理Bus Hound 数据
工作中,经常要用到Bus Hound软件用来调试串口.USB等设备,监听PC端(window)跟设备通信. 如下图,是用Bus Hound监听到摸个设备的数据,可以清楚的看到某个设备发送到PC或者PC ...
- bus hound 使用介绍
bus hound 使用介绍 本文属于原创,转载请声明. 前言 我们在调试usb 设备的时候,会遇到usb通信需要调试的情况,可以使用bus hound软件进行辅助调试,下文介绍了bus hound的 ...
- linux有没有类似于串口的,linux下类似Bus Hound的工具
linux下类似Bus Hound的工具 0 推荐在linux大家有时候需要调试usb接口的串口消息,但是没有类似于windows下的bus hound工具,感觉比较痛苦,其实linux内核提供了us ...
最新文章
- WeakHashMap和四种引用总结:
- linux命令we,Linux学习篇之基础命令
- 最后一天,最后一刻。。。。。。情理之中,意料之外。。。。。。
- np.dot()函数用法(亲测矩阵算法)
- [react] 说说Context有哪些属性?
- Tensorflow源码解析3 -- TensorFlow核心对象 - Graph 1
- word、excel、ppt 办公文件 在线预览
- 五年级计算机教材内容,五年级计算机教学计划
- 【SSH网上商城项目实战11】查询和删除商品功能的实现
- linux终端命令行用户名和密码,Linux入门篇 —— Linux 用户与组管理详解(system-config-users 命令行)| 七日打卡...
- java电器类代码_阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。...
- GPS原始坐标转百度地图坐标(纯C代码)
- LiquidCrystal-I2C
- 前端利用jQuery设置日期选择框
- 汽车租赁系统V1.0
- 视觉技术的圣杯:光线追踪如何再现真实世界?
- 移动开发采用什么平台好?
- 关于stm32ADC采集分压电阻取值
- linux还原防火墙设置,Linux防火墙设置
- 一台笔记本只有一个显卡,如何同时连接两台显示器