




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科生实验报告课程名称:计算机原理与应用 B实验名称:第二次大作业 C-Wireshark 分析 USB 数据 1任课教师:李海实验教师:李海实验日期:2021 年1 月 7-14 日实验地点:Wireshark、IDLE、gnuplot实验类型: 原理验证 综合设计 创新学生姚珑班级:05961808学号:1120190141学院:信息与电子学院专业:电子信息工程(实验班)组号:无同组同学:无成绩:Chap1 分析有线鼠标Wireshark-USBPcap 分析有线鼠标:(中断传输)设备向主机单向传输信令映入眼帘的是鼠标运行时间,Sourse1.5.1 分别表示总线编号(BUS ID),设备
2、地址和端点号l数据包标号No:lTime:启动至捕获时间lSource:源 ipl目的 ipDestination:lProtocol:协议l数据包长度Length:linfo:数据包信息点开一条协议数据:第一部分 Frame 可以看到物理层的数据帧情况以本条协议数据为例作如下解释:#27 号帧,线路 31 字节,实际捕获 31 字节,接口 ID 为 0;#封装类型(Encapsulation type):USB packets with USBPcap header (152);#中国标准时间:实际捕获时间;2#此包与前一包的时间间隔Time delta from previous capt
3、ured frame : 0.007967000 seconds;#此包与第一帧的时间间隔Time since reference or first frame : 4.088308000 seconds;#此帧未做标记不被忽略。第二部分重头戏,作如下详细解释:解释依据为 hid_1_11 规定对本条协议鼠标数据部分在 Leftover Capture Data 域中,数据长度为四个字节:00f9fe00#第一个字节表示鼠标是否被点击:0x00 没有点击,0x01 左击,0x02 右击;本条协议数据表示该时刻没有点鼠标;#第二个字节为有符号字节,最为符号位,正值表示水平水平右移像素量,负值表示
4、水平左移像素量。这条协议数据选的不好,我还得算一下;希望有符号数的补码算对了:水平左移 7 个像素。#第三个字节为有符号字节,最为符号位,正值表示水平垂直上移像素量,负值表示垂直下移像素量。垂直下移 2 个像素。#最后一个字节为鼠标的特殊性,具有选择性不赘述(也确实不懂)前三个字节的含义就足够理解鼠标在屏幕上运行的轨迹了;这也是我比较有成就感的环节,数据整合与作图。#首先保存好捕获数据为 b.pcap 文件置于桌面;#利用 Python(IDLE 编译运行)对数据进行可视化处理成坐标形式并保存为 xy.txt 文件;#利用强大的gnuplot 软件作图即可;这里有个小插曲,电脑 xy.txt
5、要记得保存在文档下,不然找 gnuplot 不到文件,确实浪费了不少时间,算是个小教训了。xy.txt 文件部分截图如下:3gnuplot 作图结果如下:小插曲:软件作图为倒置的所以为了可视化增强用画图工具翻转了一下所以坐标轴倒过来了。4通信过程分析根据理论课中有关串行通信的介绍:# host总线,时钟拉低->鼠标不产生时钟信号->不数据,和主机建立通信以后,主机鼠标产生时钟,开始传输数据;# 数据由起始位 0、数据位和停止位;# 所有 USB 数据包模式都首先最低有效位,再发(课上重点强调);# 每次收发数据可以触发中断,保护断点,执行中断服务程序(收发数据),中断返回。刚设备时
6、,主机会轮询各 USB 端口,当主机检测到电压差,就认为有新的设备接入。Host 发出复位请求,设备接到复位请求后产生外部中断信号。(这里的设备可以使本实验所用有线鼠标,有线键盘以及 U 盘当中的任意一种,因此后面不再赘述)5鼠标信令图:6#附捕获数据转换坐标 Python 代码:7Chap2 分析有线键盘Wireshark-USBPcap 分析有线键盘:(中断传输)设备向主机单向传输信令同有线鼠标主机信息:有线键盘运行时间,Sourse1.6.1 分别表示总线编号(BUS ID),设备地址和端点号点开一条协议数据:8第一部分物理层解释参考有线鼠标:#15 号帧,线路 35 字节,实际捕获 3
7、5 字节,接口 ID 为 0;#封装类型(Encapsulation type):USB packets with USBPcap header (152);#中国标准时间:实际捕获时间;#此包与前一包的时间间隔Time delta from previous captured frame : 0.223873000 seconds;#此包与第一帧的时间间隔Time since reference or first frame : 4.511915000 seconds;#此帧未做标记不被忽略第二部分重头戏作如下详细解释:解释依据为 hid_1_11 规定数据长度八个字节,只有第三个字节不为
8、0 也就是唯一蕴含键盘敲击键的信息;查规定可知0x04 表示按键为c 键,以此类推根据规定的位表可以得到键盘敲击的字母。接下来进入捕获数据分析环节:#首先保存好捕获数据为keyboard.pcap 文件置于桌面;#用 tshark 命令转成 keyboard.txt 文件;9#利用 Python(IDLE 编译运行)对数据进行可视化处理;10#运行得到敲击键。运行结果如图:从结果可以看到我输入的键为“yaolongaiweiji”,Amazing!如果这个是等重要信息的话就很容易被窃取,所以,目前刷脸,等生物质越来越普及,更多的在不断保护每个人在虚拟网络空间中。但无论如何,道高一尺魔高一丈,推
9、动着网络空间安全和系统攻防领域的不断发展和完善,所以在大数据,我们要时刻有安全意识。不在公共场合输入,尽量采用非键入操作,多常更换等。实验过程中,有意见有趣的事情,同学测试 Ctrl 的时候第一字节捕获 0x01,由于我本身没有测试这些特殊键(在这里缺少了探索精神),后来求助,在网上找到相关解释后明白,不是协议写的不对,而是我们没看全,有偏移量的键码有其特殊规定:通信过程分析有线键盘->Host 时序:# host总线,时钟拉低->键盘不产生时钟信号->不数据,和主机建立通信以后,主机键盘产生时钟,开始传输数据;# 数据由起始位 0、数据位和停止位;# 所有 USB 数据包模
10、式都首先最低有效位,再发(课上重点强调);11# 每次收发数据可以触发中断(敲击键盘键),保护断点,执行中断服务程序(收发数据),中断返回。键盘信令图:按键编码参照 USB HID USAGE TABLE,部分截图如下:12Chap3 分析 U 盘Wireshark-USBPcap 分析 U 盘:通过 usb.idVendor 过滤出设备信息,可以看到 U 盘返回主机的型号,厂商。与鼠标键盘单向信令相比 U 盘是双向通信的,既有发向主机的信令又有主机返回的信令;与鼠标键盘中断传输也不相同,U 盘是传输;并且通过各种各样的 Request 可以知道是主机在刚的 U 盘并进行配置的过程。13之后就
11、是 USBMS 协议的大容量Bulk 传输过程了。刚U 盘时数据在 U 盘和主机的端点 0 之间的相互,主机使用端点 0 收发。直至 Inquiry LUN: 0x00 这条指令:在这条指令以后,使用 SCSI 指令进行通信。这时候 device 使用的是端点 2 来接收 host令,因此,从 host 视角来看,它是输出端点,同理,device 使用端点 1 回发数据给 host,即作为输入端点。U 盘强制拔出时的传输列表:14参考协议:15U 盘信令图:1. U 盘刚的时候,主机对总线复位,获取设备描述符的标准请求,U 盘返回设备描述符(返回长度为 endpoint 0 的最大包长);2.
12、 主机对总线复位,设址的标准请求,U 盘启用新的地址;3. 主机使用新地址获取设备描述符的标准请求,U 盘返回设备描述符(18Bytes);4. 主机获取配置描述符的标准请求,U 盘返回配置描述符以及配置描述符的集合;5. 最后由 U 盘设置配置的标准请求。相关说明:U 盘协议复杂,属于传输,涉及读写文件,删除文件等复杂操作,信令图仅以收发数据为例:(此处文字说明与键盘和鼠标一致就没标注在信令图中)此处的 PING 表示高速的 OUT(适用于批量传输)16关于 USB(通用串行总线)还想说的话USB 协议是理论课程中弱化的一部分,在理论课程中学习了一些有关 USB 的基本概念,如它的出现是为了
13、简化 PC 和设备之间复杂的串口连接;其热插拔、即插即用的特性使得现在的 PC 更易用、大众化趋势增强;其具有很强的可扩展性和高速传输数据的好处,因此 USB得以迅速普及和快速进入市场。本次实验查阅了大量资料,也收获了许多理论课以外的知识,在此加以总结:USB 作为一种总线,在主机和设备之间进行互传的方式有四种(、批量、中断和等步(等时)。支持低速可靠的信号流也支持高速可丢不可重传的实时数据流,还支持重传的块数据流以及中断数据流。数据的传输和交换是由 Packet 组成的,所以包的分类编码统一由 PID(主要有令牌包(IN(Device->Host)/OUT(Host->Devic
14、e)、数据包、握手包和特殊包等)表示,下图是网上的一个 Packet 格式:U 盘是一个比较复杂的和耗时的设备,虽然最终没写出什么实质性的东西,但是查阅了相当多的资料,在此过程对事务(IN、OUT、STEUP)的认知更清晰了:# IN 事务:令牌包HostPID = IN 的输入包给设备,通知设备要往主机发数据;数据包设备根据情况会作出三种反应:1) 设备端点正常,设备往入主机里面发出数据包(DATA0 与DATA1 交替);2) 设备正在忙,无法往主机发出数据包就NAK 无效包,IN 事务提前结束,到了下一个 IN 事务才继续;3) 相应设备端点被错误包 STALL 包,事务也就提前结束了,
15、总线进入空闲状态。握手包阶段主机正确接收到数据之后就会向设备ACK 包。17# OUT 事务:令牌包HostPID = OUT 的输出包给设备,通知设备要接收数据;数据包Host 给设备送数据(DATA0 与DATA1 交替);握手包设备根据情况会作出三种反应:1)设备端点接收正确,设备往入主机返回 ACK,通知主机可以新的数据,如果数据包发生了 CRC 校验错误,将不返回任何握手信息;2) 设备正在忙,无法往主机发出数据包就NAK 无效包,通知主机再次数据;3) 相应设备端点被,错误包 STALL 包,事务提前结束,总线直接进入空闲状态。# SETUP 事务:令牌包HostPID = SETUP 的输出包给设备,通知设备要接收数据;数据包Host 给设备送数据(只有一个固定为 8 个字节的 DATA0 包,即标准的 USB 设备请求命令);握手包设备接收到主机令信息后,返回 ACK,此后总线进入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备联锁安全管理制度
- 设计主管绩效管理制度
- 设计公司装修管理制度
- 评估人员岗位管理制度
- 诊所打针日常管理制度
- 诊所药品追溯管理制度
- 试述护理文件管理制度
- 财政公司宿舍管理制度
- 货物公司安全管理制度
- 货运现场安全管理制度
- 2025益阳事业单位笔试真题
- 委托加工稻米协议书
- 国际压力性损伤溃疡预防和治疗临床指南(2025年版)解读
- (高清版)DG∕TJ 08-67-2015 园林绿化草坪建植和养护技术规程
- 2025年初中地理学业水平考试(八年级)模拟卷【内蒙古专用】(含解析)
- 《足外伤的护理》课件
- 动物学海滨实习知到智慧树期末考试答案题库2025年鲁东大学
- 泵站沉井施工方案
- 职业技术学院2024级药膳与食疗专业人才培养方案
- 2025-2030中国微球行业市场现状供需分析及投资评估规划分析研究报告
- 2025至2030年中国矿山设备配件行业发展研究报告
评论
0/150
提交评论