预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验五使用Wireshark分析TCP协议一、实验目的分析TCP协议二、实验环境与因特网连接的计算机操作系统为Windows安装有Wireshark、IE等软件。三、实验步骤1、TCP介绍(1)连接建立:TCP连接通过称为三次握手的三条报文来建立的。在Wireshark中选择open->file选择文件tcp_pcattcp_n1.cap其中分组3到5显示的就是三次握手。第一条报文没有数据的TCP报文段并将首部SYN位设置为1。因此第一条报文常被称为SYN分组。这个报文段里的序号可以设置成任何值表示后续报文设定的起始编号。连接不能自动从1开始计数选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。观察分组3Wireshark显示的序号是0。选择分组首部的序号字段原始框中显示“94f22ebe”。Wireshark显示的是逻辑序号真正的初始序号不是0。如图1所示:图1:逻辑序号与实际初始序号SYN分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接服务器进程必须已经在监听SYN分组所指示的IP地址和端口号。如果没有建立连接SYN分组将不会应答。如果第一个分组丢失客户端通常会发送若干SYN分组否则客户端将会停止并报告一个错误给应用程序。如果服务器进程正在监听并接收到来的连接请求它将以一个报文段进行相应这个报文段的SYN位和ACK位都置为1。通常称这个报文段为SYNACK分组。SYNACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给客户端。分组4的确认号字段在Wireshark的协议框中显示1并且在原始框中的值是“94f22ebf”(比“94f22ebe”多1)。这解释了TCP的确认模式。TCP接收端确认第X个字节已经收到并通过设置确认号为X+1来表明期望收到下一个字节号。分组4的序号字段在Wireshark的协议显示为0但在原始框中的实际值却是“84cabeb3”。这表明TCP连接的双方会选择数据流中字节的起始编号。所有初始序号逻辑上都视同为序号0。最后客户端发送带有标志ACK的TCP报文段而不是带SYN的报文段来完成三次握手的过程。这个报文段将确认服务器发送的SYNACK分组并检查TCP连接的两端是否正确打开合运行。(2)关闭连接当两端交换带有FIN标志的TCP报文段并且每一端都确认另一端发送的FIN包时TCP连接将会关闭。FIN位字面上的意思是连接一方再也没有更多新的数据发送。然而那些重传的数据会被传送直到接收端确认所有的信息。在tcp_pcattcp_n1.cap中通过分组13至16我们可以看到TCP连接被关闭。2、TCP重传当一个TCP发送端传输一个报文段的同时也设置了一个重传计时器。当确认到达时这个计时器就自动取消。如果在数据的确认信息到达之前这个计时器超时那么数据就会重传。重传计时器能够自动灵活设置。最初TCP是基于初始的SYN和SYNACK之间的时间来设置重传计时器的。它基于这个值多次设置重传计时器来避免不必要的重传。在整个TCP连接中TCP都会注意每个报文段的发送和接到相应的确认所经历的时间。TCP在重传数据之前不会总是等待一个重传计算器超时。TCP也会把一系列重复确认的分组当作是数据丢失的征兆。在Wireshark中选择file-〉open打开文件pcattcp_retrans_t.cap和pcattcp_retrans_r.cap对所俘获的分组进行分析如下:SACK选项协商在上面的每次跟踪中我们能观察建立连接的三次握手。在SYN分组中发送端在TCP的首部选项中通过包括SACKpermitted选项来希望使用TCPSACK。在SYNACK包中接收端表示愿意使用SACK。这样双方都同意接收选择性确认信息。SACK选项如图2所示:图2:SACK选项在TCPSACK选项中如果连接的一端接收了失序数据它将使用选项区字段来发送关于失序数据起始和结束的信息。这样允许发送端仅仅重传丢失的数据。TCP接收端不能传递它们接收到的失序数据给处于等待状态的应用程序因为它总是传递有序数据。因此接收到的失序数据要么被丢掉要么被存储起来。接收端的存储空间是有限的TCP发送端必须保存一份已发送的数据的副本以防止数据需要重发。发送端必须保存数据直到它们收到数据的确认信息为止。接收端通常会分配一个固定大小的缓冲区来存储这些失序数据和需要等待一个应用程序读取的数据。如果缓冲区空间不能容纳下更多数据那么接收端只有将数据丢弃即使它是成功到达的。接收端的通知窗口字段用来通知发送端还有多少空间可以用于输入数据。如果数据发送的速度快于应用程序处理数据的速度接收端就会发送一些信息来告知发送端其接收窗口正在减小。在这个跟踪文件中接收端通知窗口的大小是变化的从16520个字节