2023年7月3日发(作者:)
实验2 Wireshark抓包分析就实验
一、实验目的:
1、了解并会初步使用Wireshark,能在所用电脑上进行抓包。
2、了解IP数据包格式,能应用该软件分析数据包格式。
3、了解HTTP请求中的三次握手准则,并能利用该软件对该过程进行简要分析。
二、实验内容和要求:
1、学会使用Wireshark抓包工具。
2、利用Wireshark软件捕获在HTTP请求以及Ping请求的数据包。
3、对捕获的数据包进行简要分析。
三、实验环境
两台运行win7的计算机,通过网络连接。使用Wireshark作为练习工具。
四、实验原理:
4.1基本知识
4.1.1 TCP三次握手准则介绍
TCP:(TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的,所以只能用于点对点的通讯)源IP地址:发送包的IP地址;目的IP地址:接收包的IP地址;源端口:源系统上的连接的端口;目的端口:目的系统上的连接的端口。
TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。第一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器进入Established状态,完成三次握手。
4.1.2 HTTP协议介绍
HTTP协议用于在Internet上发送和接收消息。HTTP协议是一种请求-应答式的协议 ——客户端发送一个请求,服务器返回该请求的应答,所有的请求与应答都是HTTP包。HTTP协议使用可靠的TCP连接,默认端口是80。HTTP的第一 个版本是HTTP/0.9,后来发展到了HTTP/1.0,现在最新的版本是HTTP/1.1。HTTP/1.1由RFC 2616 定义。
在HTTP 中,Client/Server之间的会话总是由客户端通过建立连接和发送HTTP请求包初始化,服务器不会主动联系客户端或要求与客户端建立连接。浏览 器和服务器都可以随时中断连接,例如,在浏览网页时你可以随时点击"停止"按钮中断当前的文件下载过程,关闭与Web服务器的HTTP连接。
4.2Wireshark简介
要深入理解网络协议,需要仔细观察协议实体之间交换的报文序列。为探究协议操作细
节,可使协议实体执行某些动作,观察这些动作及其影响。这些任务可以在仿真环境下或在如因特网这样的真实网络环境中完成。观察正在运行协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer)。顾名思义,一个分组嗅探器捕获(嗅探)计算机发送和接收的报文。一般情况下,分组嗅探器将存储和显示出被捕获报文的各协议头部字段内容。
分组嗅探器的第二个组成部分是分析器。分析器用来显示协议报文所有字段的内容。为此,分析器必须能够理解协议所交换的所有报文的结构。例如:我们要显示HTTP协议所交换的报文的各个字段。分组分析器理解以太网帧格式,能够识别包含在帧中的IP数据报。分组分析器也要理解IP数据报的格式,并能从IP数据报中提取出TCP报文段。然后,它需要理解TCP报文段,并能够从中提取出HTTP消息。最后,它需要理解HTTP消息。
WireShark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组分析器.用户界面如图所示。最初,各窗口中并无数据显示。WireShark的界面主要有五个组成部分:
命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。最常
用菜单命令有两个:File、Capture。File菜单允许你保存捕获的分组数据或打开一个已被保存的捕获分组数据文件或退出WireShark程序。Capture菜单允许你开始捕获分组。
捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包括:WireShark赋予的分组序号、捕获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。单击某一列的列名,可以使分组按指定列进行排序。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。
分组头部明细(details of selected packet header):显示捕获分组列表窗口中被选中分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP数据报有关的信息。单击以太网帧或IP数据报所在行左边的向右或向下的箭头可以展开或最小化相关信息。另外,如果利用TCP或UDP承载分组,WireShark也会显示TCP或UDP协议头部信息。最后,分组最高层协议的头部字段也会显示在此窗口中。
分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被捕获帧的完整内容。
显示筛选规则(display filter specification):在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。
4.3使用Wireshark软件捕获数据包
1、 打开Wireshark,选择接口选项列表。或单击“Capture”,配置“option”选项。
2、打开WireShark,找到"Capture>>Interface",选择自己的网卡,设置完成后,选择"Start"开始监控流量。开始抓包,显示结果。
3、选择某一行抓包结果,双击查看此数据包具体结构。
4、捕捉IP数据报
捕捉到的IP帧如下图所示: 由图可知这个IP帧的以下信息:
版本号:IPV4
首部长度:20 bytes
总长度:40 Bytes
标识:0x2497(9367)
标志:0x02(不分片)
片偏移:0
生存时间:64,说明这个数据报还可以在路由器之间转发64次。
协议:TCP(6)
头部检验和:0xfb6b (接受正确)
Source:192.168.1.105
Destination:220.181.124.6
4.4使用Wireshark软件分析TCP协议建立的三次握手过程
1、打开wireshark,点击“start”开始抓包,并打开浏览器输入
下图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。
第一次握手数据包:
客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图: 第二次握手的数据包:
服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图:
第三次握手的数据包:
客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图: 就这样通过了TCP三次握手,建立了连接。
4.5使用Wireshark软件分析HTTP报文内容:
在利用上一步骤抓取到HTTP的报文后,我们双击该报文,进行简要的分析,如下图:
下面来解释一下其中的超文本传输协议内容:
POST /HTTP /1.1/r/n:表示采用POST方式向服务器请求一个页面,使用HTTP1.1版本协议。
HOST:表示请求的主机名。
Keep-Alive:表示连接持续时间
再来看看相应报文: HTTP/1.1 200 OKrn:表示http1.1版并请求成功。
此外还包含了内容类型和连接时间持续方式等信息。
五、实验报告要求
(1)安装wireshark软件,并使用该软件捕获HTTP请求中的报文,分析该过程中TCP建立连接的握手过程以及报头各字段的含义,记录实验结果和数据。
(2)尝试利用wireshark软件捕获Ping请求中的报文,并分析报文中各字段的含义,记录实验结果和数据。
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688339740a123074.html
评论列表(0条)