当前位置:文档之家› TCP协议分析实验报告

TCP协议分析实验报告

网络协议分析与设计实验报告

实验名称:实验TCP协议分析

班级:姓名:

实验地点:日期:

一、实验目的:

1.掌握TCP报文段首部中各字段的含义及作用

2.掌握TCP连接建立和释放的过程

3.了解TCP的确认机制

二、实验环境:

1.联网并运行wireshark软件的PC机

三、实验内容和要求:

1、捕获并分析TCP连接建立过程的三次握手过程中发送和接收的TCP报文段

2、捕获并分析TCP连接释放过程中发送的TCP报文段。

3、捕获并分析一个TCP报文段及该报文段的确认报文段

4、捕获并分析TCP连接超时重传所发送的报文段

四、实验步骤:

1、开启协议分析软件,设置过滤器为只捕获TCP协议报文段

2、利用协议分析软件的TCP连接工具连接到FTP服务器,捕获并分析建立TCP连接时发送

的TCP报文段,分析TCP连接建立的过程

3、在已经连接到FTP服务器之后,通过TCP连接工具发送FTP命令:

●USER anonymous

●PASS test@

●PWD

捕获并分析发送和接收的报文段,注意其序号及确认号之间的关系

4、在已经连接到FTP服务器之后,通过TCP连接工具发送FTP命令:QUIT释放TCP连接,

捕获并分析释放连接过程中发送和接收的报文段

5、通过TCP连接工具连接到10.132.254.1上不存在服务进程的端口,观察服务器与本机交

互的报文。

6、通过TCP连接工具连接到IP地址不在本网段且不存在的主机,观察本机发送的请求建立

连接报文段超时重传报文。

五、实验结果与分析(含程序、数据记录及分析和实验总结等):

1、以十六进制形式写出建立TCP连接过程中发送和接收的TCP报文段,给出各字段的取值及含义。

07 11(源端口)00 15(目标端口)01 FB 24 31 (序列号)00 00 00 00 (确认序列号)B0(TCP 首部长度)02(标志位:SYN)FF FF(窗口大小)F7 31(校验和)00 00 (紧急指针)02 04 05 B4 01 03 03 03 01 01 08 0A 00 00 00 00 00 00 00 00 01 01 04 02

00 15(源端口)07 11 (目标端口)5D BF ED 2F (序列号)01 FB 24 32 (确认序列号)B0 TCP 首部长度)12(标志位:SYN|ACK)44 70 (窗口大小)67 C4 (校验和)00 00 (紧急指针)02 04 05 B4 01 03 03 00 01 01 08 0A 00 00 00 00 00 00 00 00 01 01 04 02

2、以十六进制写出捕获到的TCP报文段和确认报文段

07 0A(源端口)00 15 (目标端口)F8 50 A0 9A (序列号)6E 4E 2A 57确认序列号)

80TCP首部长度)10 标志位:ACK)B5 C9(窗口大小)F2 EE (校验和)

00 00 (紧急指针)01 01 08 0A 00 00 83 DA 00 00 00 00 00 00

3、以十六进制形式写出释放TCP连接过程中发送和接收的TCP报文段,给出各字段的取值及含义,注意这些报文段控制位的置位和复位情况。

00 15(源端口)07 0A(目标端口)6E 4E 2B 0C(序列号)F8 50 A0 CB (确认序列号)80 (TCP 首部长度)19(标志位:FIN|PUSH|ACK)44 3F( 窗口大小)6B BB(校验和)00 00 (紧急指针)01 01 08 0A 00 D5 62 56 00 00 8B 17 32 32 31 20 20 0D 0A

07 0A (源端口)00 15 (目标端口)F8 50 A0 CB (序列号)6E 4E 2B 14 确认序列号)80(TCP 首部长度)10(标志位:ACK)B5 B2(窗口大小)87 9D(校验和)00 00 (紧急指针)01 01 08 0A 00 00 8B 29 00 D5

62 56 32

07 0A(源端口)00 15(目标端口)F8 50 A0 CB(序列号)6E 4E 2B 14 (确认序列号)80(TCP 首部长度)11(标志位:FIN|ACK)B5 B2(窗口大小)86 CA (校验和)00 00 (紧急指针)01 01 08 0A 00 00 8B FB 00 D5 62 56 32

00 15(源端口)07 0A(目标端口)6E 4E 2B 14 (序列号)F8 50 A0 CC (确认序列号)80(TCP 首部长度)10(标志位:ACK)44 3F (窗口大小)F7 6B (校验和)00 00 (紧急指针)01 01 08 0A 00 D5 63 28 00 00

8B FB 32 32

4、以十六进制形式写出原始的和重传的TCP报文段。

07 0F(源端口)00 50(目标端口)FD 0C 12 D6 (序列号)00 00 00 00 (确认序列号)B0(TCP首部长度)02(标志位:SYN)FF FF(窗口大小)55 1E(校验和)00 00(紧急指针)02 04 05 B4 01 03 03 03 01 01 08 0A 00 00 00 00 00 00 00 00 01 01 04 02

六:思考题:

1、为什么说TCP协议采用了三次握手的算法来建立连接?

因为TCP协议提供可靠的连接服务。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN 包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据

建立连接的过程中,发送和接收报文段的序号和确认号之间、源端口和目的端口之间、控制位的置位和复位之间有什么关系?

序号和确认号的关系:序号是本报文中所发送数据的第一个字节的序号,确认号是期望对方的下一个报文字段数据的第一个字节的序号。

源端口和目的端口的关系:都是传输层和应用层的服务接口

控制位和复位的关系:控制位有6中,复位时控制为的其中一种

2、TCP报文段的序号、确认号和报文段长度之间有什么关系?

报文字段=确认号-序号

相关主题