USB调试笔记
+ -

如何正确地使用BUSHOUND和总线分析进行USB数据抓包及抓包原理分析

2022-06-07 2662 0

bushound是我们经常需到的USB抓包工具,不过大家由于对BUSHOUND抓包的原理不清楚,故在实际中会出现一系列的问题,其中一个重要的就是抓到的数据与实际发送的数据不致,如长度和数据不一致。

其实我们先大概介绍一下BUSHOUND的原理,busHound抓包的原理其实就是USB,HID设备的过滤驱动,并且是上层类过滤驱动。这我们在BUSHOUND的INF文件中就可以看到。

[Registry]
HKLM, System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}, UpperFilters, 0x00010008, bhound7 ; usb
HKLM, System\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}, UpperFilters, 0x00010008, bhound7 ; ide
HKLM, System\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}, UpperFilters, 0x00010008, bhound7 ; keyboard
HKLM, System\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}, UpperFilters, 0x00010008, bhound7 ; mouse
HKLM, System\CurrentControlSet\Control\Class\{4D36E978-E325-11CE-BFC1-08002BE10318}, UpperFilters, 0x00010008, bhound7 ; ports
HKLM, System\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}, UpperFilters, 0x00010008, bhound7 ; scsi
HKLM, System\CurrentControlSet\Control\Class\{6BDD1FC1-810F-11D0-BEC7-08002BE2092F}, UpperFilters, 0x00010008, bhound7 ; firewire

可以看到,是对这个设备类驱动的过滤,所以也就是设备的IRP(URB)完成时的状态。
USB抓包

从上图可以看到,USB总线分析仪抓到的是USB总线上的活动,所以会有事务,令牌,包等概念,详见USB2.0令牌、事务及传输抓包分析 http://www.usbzh.com/article/forum-44.html

而BUSHOUND由于是系统软件过滤驱动级别的,而事务令牌这些都已经由USB HUB处理打包完成实际的通讯数据,故就没有事务,令牌,包等概念了,而是一次USB的传输。这个传输使用的就是IRP-URB的结构。URB的正确完成代表了数据的正确传输,但失败并不代表总线上有活动,比如pip句柄无效,会直接在驱动软件层返回。

另外,在BUSHOUND抓如鼠标数据,我们需要看到的是端点的数据,而并非鼠标的数据。因为这两个数据并不相等,因为鼠标数据是通过端点返回来的数据进行转换了的结果。

USB鼠标
如上图所示,我们应该看的是14设备的数据,而并非是20的数据,因为14的数据是USB设备发过来的经过组包后的数据,在地址端也可以看到其端点地址为1,而24是经过驱动处理后的数据MOUSE_INPUT_DATA,与原始数据就没有关系了。
同时,也可以看到数据长度是不样的。
BUSHOUND抓包

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

BusHound的使用方法详解
在开始菜单日运行Bus Hound软件,将USB设备插入电脑U口。如图所示,进入”Devices”目录,在”Devices”内选择要监听的设备。例如:我的设备置是一个U盘,则装置为USB大容量储存设备,点选”USB大容量储存设备”图示,可以在下面的”Properties”图框内看到设备的设备树及设备......
HID键盘设备数据抓包分析实践
本文使用 Bus Hound 工具对 USB HID 设备数据包进行分析,并结合官方手册及网上文章进行整理。在进行数据分析前,我们先回顾一下USB相关的基础知识。USB描述符USB 主机是通过各种描述符来识别设备的,有设备描述符,接口描述符,端点描述符,字符描述符,报告描述符(HID)等。和普通的......
关于UVC摄像头指示灯的调试过程总结
最近遇到了一个很是奇怪的UVC摄像头指示灯问题,现象如下:上层应用是一个会议系统软件,当需要进行会议时,点击会议按钮添加会议。这时应用软件打开摄像头,并开始与服务器进行网络连接。当然由于摄像头的打开,摄像头指示灯点亮。上层应用软件与服务器连接后,进行会议界面。这时突然摄像头指示灯熄灭,但会议正常,摄......
BusHound简介及安装
BusHound简介BusHound软件是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名“hound”的中文意思为“猎犬”,即指其能敏锐地感知到总线的丝毫变化。Bus Hound是一个超级软件总线协议分析器,用于捕捉来自设备的协议包和输入输出操作,其优......
BusHound设备窗口
使用BusHound进行数据抓包,抓包的目标为设备。BusHound提供了一个类似设备管理器的窗口,以树形的方式显示。设备树主要包括SCSI设备树和Usb设备树。设备IDBusHound为每个显示在设备窗口中的设备树分配一个ID,这个ID在设备窗口树列表中,设备名前中括号中的数字为设备ID.点击设备......
UVC 描述符实例
通过BUSBOUND抓取USB摄像头插入电脑时的数据信息,这里只是选报设备描述符和接口描述符信息Device Phase Data Description Cmd.Phase.Ofs(rep)------ ----- ----------......
BUSHOUND抓包stall pid的USTS c0000004错误
对USB设备进行数据分析,使用最多的也就是BUSHOUND了,不过经常遇到一个问题就是 USTS c0000004 stall pid 错误。USTS c0000004 stall pid在本站中搜......
手动分析使用BUSHOUND抓取同步传输的URB
BUSHOUND大家太熟了,使用它来进行数据抓包那不太太方便。但在BUSHOUND的抓取配置项中,有一个叫了URB的东西,我相信大家都没有选中过,因为一般来说,对WINDOWS USB驱动开发人员来说都不一定有用,更何况大家也只是用来抓取一下几个数据的输入输出,更没有必要进行USB的分析了。本人今天......
使用BUSHOUND手动分析USB控制传输的URB
USB的控制传输是最基本的传输类型,控制传输适用于设备的枚举和设备的状态控制。我里我们使用BUSHOUND来抓取USB控制传输的URB。同样的,我们使用的操作系统是Windows10 x64,和同步传输的URB抓包一样,我们先抓取数据,然后再分析数据结构。这里我插入电脑的U盘的枚举以获取设备描述符为......
使用BUSHOUND手动分析USB批量传输的URB
使用BUSHOUND抓取U盘的批量传输的URB数据,我们对其其进行数据分析:13 IN 55 53 42 53 40 0b ac 57 00 00 00 00 00 URB80 00 09 00 00 00 00 00 d8 f2 75 a0 77 7f 00 00 ......
USB设备抓包工具BusHound的Windows驱动抓包
BusHound可以抓包的设备类型有硬盘、1394火线和USB设备数据,并且抓到的数据并非是各总线上的,而是经过各总线传递到Windows内核的内核数据。BusHound采用的是Windows过滤驱动的方式进行抓包的,并且可以区分各总线上相关的数据协议,如USB的输入输出事务,同步传输,CTRL请求......
lecro力科USB总线分析仪
网址:https://teledynelecroy.com/protocolanalyzer/usbThe introduction of USB 3.2 and USB4 along with the Type-C connector ushers in a new era of unprec......
USB总线分析仪 USB Packet Viewer
说明USB Packet Viewer是一款便携式USB协议分析仪,能够捕捉USB通讯的底层数据包以及总线事件。站长手中有一款USB Packet Viewer产品,讲道理这是一款性价比超高的工具,只有几百块钱的价格(可以说是市面上同类产品的最低价),但确达到了惊人的抓包解析效果。最难能可贵的......
沁恒 USB1.1总线分析仪
参考价:¥599.00淘宝购买地址:https://item.taobao.com/item.htm?id=569868173162产品介绍 USB1.1总线分析仪(WCHUMT11)是 一种多用途的USB产品开发和测试工具,主要 USBMonitor 用于捕获USB总线(UniversalSer......
Bus Hound version 7
Bus Hound version 7是Windows下的抓包工具。免费下载地址:https://www.perisoft.net/cgi-bin/bhfree.cgi官方网址:https://www.perisoft.net/bushound/index.htm视频教程:https://spac......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!