文章目录

  • 准备工作
  • 我们的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盘相关推荐

  1. USB 之三 常用抓包/协议分析工具(Bus Hound、USBlyzer、USBTrace、USB Monitor Pro等)

    简介 在学习 USB 时,尝试了许多工具.有些是纯软件工具,有些是需要硬件配合.以下仅仅做个记录. Bus Hound   一个比较轻量级纯软件工具,软件界面看着就像上一个世纪的风格.官网为http: ...

  2. BUS HOUND调试USB驱动遇到的错误代码解析

    BUS HOUND调试USB驱动遇到的错误代码解析 在使用BUS HOUND调试USB驱动时,在Capture页面会遇到抓取的错误信息,错误代码会在data字段显示,根据不同的显示,含义如下: 顺便记 ...

  3. USB抓包工具Bus Hound

    Bus Hound是一款超级软件总线协议分析器,它是一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名"hound"的中文意思为"猎犬",即指其能敏锐 ...

  4. Bus Hound 工具抓取串口数据(PC端抓取USB转串口数据)

    测试环境: PC端 USB转串口 链接终端板卡串口 目标:抓取通信过程中的通信数据 工具介绍: Bus Hound是是由美国perisoft公司研制的一款超级软件总线协议分析器,它是一种专用于PC机各 ...

  5. Bus hound 监控USB

    Bus hound是一款监控USB软件,Devices里勾选要监控的USB,capture里点击run开始监控数据,stop停止.但是里面的数据很多,如果只看输入输出的数据可以在setting 里面设 ...

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

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

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

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

  8. python 处理Bus Hound 数据

    工作中,经常要用到Bus Hound软件用来调试串口.USB等设备,监听PC端(window)跟设备通信. 如下图,是用Bus Hound监听到摸个设备的数据,可以清楚的看到某个设备发送到PC或者PC ...

  9. bus hound 使用介绍

    bus hound 使用介绍 本文属于原创,转载请声明. 前言 我们在调试usb 设备的时候,会遇到usb通信需要调试的情况,可以使用bus hound软件进行辅助调试,下文介绍了bus hound的 ...

  10. linux有没有类似于串口的,linux下类似Bus Hound的工具

    linux下类似Bus Hound的工具 0 推荐在linux大家有时候需要调试usb接口的串口消息,但是没有类似于windows下的bus hound工具,感觉比较痛苦,其实linux内核提供了us ...

最新文章

  1. WeakHashMap和四种引用总结:
  2. linux命令we,Linux学习篇之基础命令
  3. 最后一天,最后一刻。。。。。。情理之中,意料之外。。。。。。
  4. np.dot()函数用法(亲测矩阵算法)
  5. [react] 说说Context有哪些属性?
  6. Tensorflow源码解析3 -- TensorFlow核心对象 - Graph 1
  7. word、excel、ppt 办公文件 在线预览
  8. 五年级计算机教材内容,五年级计算机教学计划
  9. 【SSH网上商城项目实战11】查询和删除商品功能的实现
  10. linux终端命令行用户名和密码,Linux入门篇 —— Linux 用户与组管理详解(system-config-users 命令行)| 七日打卡...
  11. java电器类代码_阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。...
  12. GPS原始坐标转百度地图坐标(纯C代码)
  13. LiquidCrystal-I2C
  14. 前端利用jQuery设置日期选择框
  15. 汽车租赁系统V1.0
  16. 视觉技术的圣杯:光线追踪如何再现真实世界?
  17. 移动开发采用什么平台好?
  18. 关于stm32ADC采集分压电阻取值
  19. linux还原防火墙设置,Linux防火墙设置
  20. 一台笔记本只有一个显卡,如何同时连接两台显示器

热门文章

  1. JAVA博客和书籍推荐
  2. Knockout.js入门级
  3. XAMPP最详细的安装及使用教程
  4. linux batchUtil批量运维工具
  5. CDA数据分析师教材与题库
  6. Javascript基础——函数
  7. RuoYi-Vue Spring Security 密码加密
  8. Excel插件:方方格子
  9. python记忆口诀-最良心的软件可以良心到什么程度?
  10. 好用的在线开发辅助工具