HID设备USB通讯协议数据剖析实验.pdf

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

握手包格式转换

(长春理工大学电子信息工程学院,长春130022)目标:为了解决HID设备无侵入式监听过程中不同设备描述符和通讯协议的差异导致的数据分析和协议解析困难的问题,本研究设计了一种无侵入式监听方法,可以对鼠标、键盘和触摸屏等HID设备进行数据监听。该方法通过捕获USB端口的数据,获取设备描述符、配置描述符和接口描述符,并构建数据包模型。通过截获HID设备输入的数据包段,获取操作指令的协议,并与协议/指令对比表进行对比,最终获得操作指令。该方法实现了对HID设备指令操作的实时解析,同时不影响USB总线数据通信和I/O口效率,实现了无侵入式监听。关键词:监听;USB;通讯协议;鼠标;键盘;触摸屏

握手包格式转换

现场测试军用装备通常采用便携式仪器协同测试的方式,因此对于USB潜入式监听存储仪的需求日益增加。HID人机接口设备是Windows最早支持的USB类别之一,它是计算机与人交互的设备,如键盘、鼠标和触摸屏等,也是无侵入式监听中常用的USB接口设备。USB潜入式监听存储仪的工作原理是与其他HID设备并行连接到主机USB接口上,通过截获USB端口主机与HID设备的通信数据,获取HID设备监听所需的基本信息,并掌握信息传递数据包的格式,最终完成协议的解析。要分析用户的USB通讯协议,首先需要获取USB总线上的数据流,获取设备描述符信息、HID设备ID、端点情况以及数据包的格式,然后利用数据包的组成格式,过滤数据流,从中获取USB总线上的指令数据包,实现无侵入式USB信息获取,即在不破坏USB数据通路正常通信的情况下,从USB协议物理层获取USB信息,并且不占用系统资源。

握手包格式转换

HID监听设备的硬件设计主要负责截获HID设备端口数据流,并为数据解析和存储提供支持。该系统由USB信号采集电路、FPGA器件、FLASH存储器和USB协议芯片四部分组成。USB监听存储系统的整体设计框图如图2所示,USB总线与USB收发器相连,USB收发器接收USB总线上的数据信号,并将其转换成DP、DM和RCV信号,然后传输给FPGA。FPGA对这些信号进行时钟产生、同步、事件检测和协议数据翻译等处理,将数据位流转换成数据包,并对这些数据包与时钟进行数据融合和存储。USB协议芯片响应FPGA的请求,从FLASH中取出数据包,并发送给分析主机。分析软件对接收到的信号进行管理,对接收到的USB数据包进行错误检测、过滤、分析和显示。HID设备监听的数据协议分析和解析的核心是掌握USB的通信原理,其中通信的基本单元是”包”,一个包由多个域组成,不同厂商的HID设备传输数据的包和包含的域都不相同。数据解析的过程分为两个部分,一是分析设备的基本信息,包括设备型号、数据包尺寸、数据包格式和数据编码方式;二是参考设备的基本信息,找出数据中有效的动作协议,并与数据操作动作进行配对和校准,最终实现协议与操作动作的一一对应,完成HID设备的监听过程。HID设备的监听主要从USB接口的鼠标、键盘和触摸屏三个方面入手。实验的基本流程如图3所示,首先将USB潜入式监听存储仪连接到待监视设备上,建立数据监听的硬件环境;然后进行实时数据的采集;接下来是校验采集到的数据是否为传输过程中的真实数据,同时校验传输的数据是否为合理的操作数据,通过数据校验可以剔除所有的错误信息和非法HID操作命令;然后进行设备状态分析,根据连接命令分析数据信息;最后对确定状态的命令进行解析,通过数据分析获得解析协议的相关信息,最终通过协议的基本信息解析协议,实现协议与命令的一一对应关系。

握手包格式转换

2.1 USB鼠标与键盘数据分析
USB鼠标和键盘是最常见的HID设备之一。鼠标的分类方法有很多,通常根据键数、接口形式和内部构造进行分类。根据键数分类的鼠标可以分为传统的双键鼠标、三键鼠标和新型的多键鼠标,这些不同类型的鼠标导致数据包的长度各不相同。USB键盘也有很多种类,一般可以分为触点式和无触点式两大类。键数有83键、87键、93键、96键、101键、102键、104键、107键等,不同类型的键盘数据包可以同时响应的按键个数也不同。解析不同类型的USB鼠标和键盘数据包的协议主要取决于数据包的长度。根据不同厂商的鼠标按键个数不同,数据包的有效数据位数也不相同。鼠标常用的操作有左键按下、右键按下和鼠标位移操作,因此鼠标操作数据包的有效位数至少为4位。当不同鼠标连接到主机设备时,可以通过设备信息描述包获取鼠标的通信包格式,从而获取鼠标操作的协议指令数据。同样地,USB键盘的有效数据包长度限制了可以同时响应多少个按键同时按下的因素。通常USB键盘最多可以同时判断出5个按键同时按下,这5个按键不包括辅助功能键。当按键按下过多或者按键出现异常时,数据包会有异常的判断标志字节,从而提高了键盘按键的可靠性。

2.2 触摸屏
触摸屏系统通常包括触摸屏控制器和触摸检测装置。触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将其转换成触点坐标,然后传输给CPU。它还可以接收CPU发来的命令并执行。触摸检测装置通常安装在显示器的前端,主要用于检测用户的触摸位置,并将该位置的信息传送给触摸屏控制器。在实际应用中,触摸屏通常作为与显示屏配合使用的输入设备,需要将从触摸屏采样得到的坐标与屏幕的显示坐标进行映射。本实验中,触摸屏采用了三点校准的方法,与两点校准相比,三点校准的模型考虑到旋转和缩放,更接近实际情况。首先选择三个相距较远且不在一条直线上的点作为校准输入的独立采样点,它们相应的触摸屏采样坐标是P1、P2和P3。直角坐标平面上的两个点P和P’是显示屏空间的坐标点,P’可以通过旋转、比例和平移得到。对于同一个设备,其中的A、B、C、D、E、F是常数,称为校准常数,因此只需要在触摸屏校准时解出这些常数即可。通过三个校准点,可以确定触摸屏与液晶屏的对应关系,进行校准。实验数据分析利用并联USB数据线连接到被监测设备中,获取HID设备的通信数据流,并进行软件分析,最终获得协议命令。(1)鼠标与键盘对于具有4位有效位的数据包的鼠标,解析操作命令的有效数据为0x0203feff。通过大量样本学习,可以确定不同类型的USB鼠标和键盘数据包的格式。

赞(0)