TCP协议分析实验报告_11300240047

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TCP协议分析实验报告

11300240047

马会心1 实验目的

用Wireshark分析TCP连接的建立,数据的传输,连接的关闭等过程。掌握Wireshark的连接统计的功能查看相关信息,对TCP协议的细节有更深的理解。

了解TCP重传原理以及超时重传和快速重传发生的情况,加深对TCP可靠数据传输的理解。

对比TCP和UDP,进一步了解TCP和UDP的优缺点,理解面向连接和无连接的区别。

2 实验环境

(部分数据在机房抓取,故软件子版本号可能有细微差异)

Windows 7 Service Pack1

Wireshark Version 1.10.2

PCATTCP

3 实验内容

3.1 TCP 协议介绍实验

本节中的实验数据通过使用PCATTCP在机房的两台电脑间进行TCP数据传输而得到,用于说明TCP协议的一般性质,相关的数据包文件为同一文件夹下的tcp.pcapng。对于引用到的报文段,文中均给出了其在整个数据包文件中的编号,以便于查找对照。

传输结束时,在发送端上的PCATTCP反馈信息如下图所示。

3.1.1 三次握手连接报文

TCP协议的三次握手连接报文位于数据包的最前面(No.1-3),如下图所示。可以看到,对于带有SYN等特殊标志位的报文段,Wireshark都会以特殊颜色标出,这有助于用户注意到它们,而在右边的信息栏中,也已经用方括号括出了每个报文段的标志位。

对应的序列号和确认号同样可以在信息栏中看到,或者在下方的协议细节数据中查找。但这里给出的序列号都是从0开始的。后来我才发现,Wireshark为了方便用户理解,给出的都是相对序列号和确认号,通过最下方的二进制数据则可以得到实际的序列号值。

下图给出了第一条报文段的信息,其中被选中的蓝底部分即为序列号(0x1b671dbb),我们还知道它右边4个字节就是存放确认号的位置,但因为这是发起请求的第一条报文段,所以这里没有使用,均置为0。

下图给出了第二条报文段的信息,其中被选中的蓝底部分为返回的确认号(0x1b671dbc),可以看到它刚好比前面的序列号多1,正如我们预期的那样。

第二条报文段的序列号也已经可以从上图中看到,就是选中区域左边的4个字节,其值为0x2351ea27。

3.1.2 三次握手中的协商

三次握手中的协商数据位于TCP协议的可选部分中,通过Wireshark的协议细节部分很容易找到有关内容。

第一条报文段的可选部分内容以及相应的二进制数据(蓝底选中部分)如下图所示。

而第二条报文段中的可选部分内容及二进制数据如下图。

从中可以看到,连接的接收方同意了发送方给出的MSS大小,也允许SACK 的实现,但对于Window scale则提出了不同数值。该选项用于增加TCP接收窗口的大小而超过65536字节,这里我们不详细展开。

3.1.3 观察TCP数据流

通过Wireshark的Follow TCP Stream功能,我们可以看到TCP协议所传输的数据如下图。

可见PCATTCP的发送数据中包括了所有不同的字母、数组、标点等符号,而且不停循环发送。

Wireshark在这里用不同颜色表示数据的不同流向,这里显示的数据都为同色,可知应用层的数据发送是单向的。发送数据大小如下图所示,共计8192字节。

相关文档
最新文档