TCP协议分析实验报告_11300240047

  • 格式:pdf
  • 大小:892.19 KB
  • 文档页数:15

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字

节。