
wireshark.docx
6页Wireshark抓HTTP数据包实例分析实验目的: 使用wireshark抓包工具抓取一个应用层协议的包,描述抓包实验过程,并详细分析其应用层、传输层、网络层、数链层数据实验环境: 本机MAC地址为:74-27-EA-E4-10-00 系统环境:Windows 10 浏览器:IE 抓包工具:wireshark实验步骤:a. 通过命令提示符中ping命令获取百度的ip的地址61.135.169.125 (如下图):b. 获取百度的ip后,打开wireshark然后,从接口中选出网卡,在此我选择的以太网,然后点击start: c.然后打开浏览器输入百度,打开百度首页; d.在wireshark中的显示过滤器中输入http and ip.addr == 61.135.169.125 and tcp.port == 80对所抓的信息进行过滤(如下图):实验结果分析: 图1数据链路层数据分析(图1): 目标MAC地址: Cisco_3d:4c:00 ( 00:1f:26:3d:4c:00) 本机MAC地址: Elitegro_e4:10:00(74:27:ea:e4:10:00) Type: IP (0x0800) Type:2个字节,用来指出以太网帧内所含的上层协议。
即帧格式的协议标识符对于IP报文来说,该字段值是0x0800对于ARP信息来说,以太类型字段的值是0x0806图2)网络层分析(图2): Version :互联网协议IPv4 (IP版本号) IP包头部长度:20bytes (32位字的报头长度(HLEN)20字节的时候二进制表示形式0101(十进制5),5*4=20字节最长(1111)15*4=60字节) 差分服务字段:0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport)) (服务类型描述数据报将如何被处理前3位表示优先级位前三位如下: 000 普通 (Routine) 001 优先的 (Priority) 010 立即的发送 (Immediate) 011 闪电式的 (Flash) 100 比闪电还闪电式的 (Flash Override) 101 CRI/TIC/ECP 110 网间控制 (Internetwork Control) 111 网络控制 (Network Control)后五位如下:D 时延: 0:普通 1:尽量小 T 吞吐量: 0:普通 1:尽量大 R 可靠性: 0:普通 1:尽量大 M 传输成本: 0:普通 1:尽量小 0 最后一位被保留,恒定为0) IP包的总长度:347 (包括报头和数据的数据包长度) 标志字段: 0x69cc(27084) (长度16比特。
该字段和Flags和Fragment Offest字段联合使用,对大的上层数据包进行分段(fragment)操作路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分) 标记字段:0x02 (Don't Fragment) (长度3比特标志该字段第一位不使用第二位是DF(Don't Fragment)位,DF位设为1时表明路由器不能对该上层数据包分段如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包 并返回一个错误信息第三位是MF(More Fragments)位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1) 片段偏移量: 0 (分段偏移长度13比特表示该IP包在该组分片包中位置,接收端靠此来组装还原IP包) 生存期TTL: 64 (存活期是在数据包产生时建立在其内部的一个设置如果这个数据包在这个TTL到期时仍没有到达它要去的目的地,那么它将被丢弃这个设置将防止IP包在寻找目的地的时候在网络中不断循环。
) 此包内封装的上层协议为TCP:TCP (6) 头部数据的校验和: 0x0000 [validation disabled] 源IP地址: 10.10.49.44 目的IP地址: 61.135.169.125 (图3)传输层分析(图3):源端口号: 49394(49394) (每个UDP段都包含源端和目的端的端口号,用于寻找发起端和拉收端应用进程)目标端口号: http(80) (每个UDP段都包含源端和目的端的端口号,用于寻找发起端和拉收端应用进程) 序列号(相对序列号): 1 (长度32位,4个字节) 下一个序列号: 308 确认序列号: 1 (长度32位,4个字节) 头部长度: 20 bytes (该字段占用4位,用来表示报文首部的长度,单位是4Byte) TCP标记字段 : 0x018 (PSH, ACK) (该值用两个十六进制数来表示该部分长度为6个BIT,6个标志位的含义分别是: 0 URG,紧急数据标志,为1表示有紧急数据,应立即进行传递。
0 ACK,确认标志位,为1表示此数据包为应答数据包 0 PSH,PUSH标志位,为1表示此数据包应立即进行传递 0 RST:复位标志位如果收到不属于本机的数据包,则返回一个RST 0 SYN:连接请求标志位为1表示为发起连接的请求数据包 0 FIN:结束连接请求标志位为1表示是结束连接的请求数据包) 流量控制的窗口大小值:1024 (该部分占16个BIT) TCP数据段的校验和: 0x2388 [validation disabled] 图4应用层分析(图4): 主 机: 请求方法:GET (HTTP请求方法GET方法与POST方法:GET方法是默认的HTTP请求方法,我们日常用GET方法来提交表单数据,然而用GET方法提交的表单数据只经过了简单的编码,同时它将作为URL的一部分向Web服务器发送POST方法是GET方法的一个替代方法,它主要是向Web服务器提交表单数据,尤其是大批量的数据POST方法克服了GET方法的一些缺点通过POST方法提交表单数据时,数据不是作为URL请求的一部分而是作为标准数据传送给Web服务器,这就克服了GET方法中的信息无法保密和数据量太小的缺点。
) 协议版本号:HTTP/1.1 (HTTP/1.0 每次请求都需要建立新的TCP连接,连接不能复用HTTP/1.1 新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用优点是减少重复进行TCP三次握手的开销,提高效率) 浏览器支持的 MIME 类型分别是:text/html、application/xhtml+xml/ application/xhtml+xml以及*/* ( MIME的英文全称是 Multipurpose Internet Mail Extensions(多功能 Internet 邮件扩充服务),它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器text/html表示 html 文档; application/xhtml+xml表示 xhtml 文档; application/xml表示 xml 文档) 浏览器支持语言:简体中文 (浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到) 用户代理: Mozilla 编码方式: gzip (浏览器能够进行解码的数据编码方式,比如gzip。
Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面许多情形下这可以减少5到10倍的下载时间) 连接状态:已连接 (表示是否需要持久连接如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小;)上图为响应为200,表示请求已成功,请求所希望的响应头或数据体将随此响应返回个人感想 经过本次实验的我学会了如何使用WireShark进行基本的数据包的抓取以及对数据包的简单分析,加深了对常用网络协议HTTP的理解,以前不了解怎么抓包由于能力有限,对于本次的实验分析会有欠缺,今后一定会多多学习,巩固所学的网络知识,多多实践。












