《TCP协议分析实验报告.doc》由会员分享,可在线阅读,更多相关《TCP协议分析实验报告.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 网络协议分析与设计 实验报告实验名称:实验四TCP协议分析班 级: 姓 名: 实验地点: 日 期: 一、实验目的:1. 掌握TCP报文段首部中各字段的含义及作用2. 掌握TCP连接建立和释放的过程3. 了解TCP的确认机制二、实验环境:1. 联网并运行SimpleNPTS软件的PC机三、实验内容和要求:1、捕获并分析TCP连接建立过程的三次握手过程中发送和接收的TCP报文段2、捕获并分析TCP连接释放过程中发送的TCP报文段。3、捕获并分析一个TCP报文段及该报文段的确认报文段4、捕获并分析TCP连接超时重传所发送的报文段四、实验步骤:1、 开启协议分析软件,设置过滤器为只捕获TCP协议报文
2、段2、 利用协议分析软件的TCP连接工具连接到FTP服务器,捕获并分析建立TCP连接时发送的TCP报文段,分析TCP连接建立的过程3、 在已经连接到FTP服务器之后,通过TCP连接工具发送FTP命令:l USER anonymousl PASS testl PWD捕获并分析发送和接收的报文段,注意其序号及确认号之间的关系4、 在已经连接到FTP服务器之后,通过TCP连接工具发送FTP命令:QUIT释放TCP连接,捕获并分析释放连接过程中发送和接收的报文段5、 通过TCP连接工具连接到10.132.254.1上不存在服务进程的端口,观察服务器与本机交互的报文。6、 通过TCP连接工具连接到IP地
3、址不在本网段且不存在的主机,观察本机发送的请求建立连接报文段超时重传报文。五、实验结果与分析(含程序、数据记录及分析和实验总结等): 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
4、 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
5、 C9(窗口大小) F2 EE (校验和) 00 00 (紧急指针)01 01 08 0A 00 00 83 DA 00 00 00 00 00 003、以十六进制形式写出释放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 1
6、7 32 32 31 20 20 0D 0A07 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 D562 56 3207 0A(源端口) 00 15(目标端口) F8 50 A0 CB(序列号) 6E 4E 2B 14 (确认序列号)80(TCP首部长度) 11(标志位:FIN|ACK)B5 B2(窗口大小) 86 CA (校验和)00 00 (紧急指针)01 0
7、1 08 0A 00 00 8B FB 00 D5 62 56 3200 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 008B FB 32 324、以十六进制形式写出原始的和重传的TCP报文段。 07 0F(源端口) 00 50(目标端口) FD 0C 12 D6 (序列号)00 00 00 00 (确认序列号)B0(TCP首部长度) 02(标志位:SYN)
8、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状态; 第三
9、次握手:客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据建立连接的过程中,发送和接收报文段的序号和确认号之间、源端口和目的端口之间、控制位的置位和复位之间有什么关系?序号和确认号的关系:序号是本报文中所发送数据的第一个字节的序号,确认号是期望对方的下一个报文字段数据的第一个字节的序号。源端口和目的端口的关系:都是传输层和应用层的服务接口控制位和复位的关系: 控制位有6中,复位时控制为的其中一种2、 TCP报文段的序号、确认号和报文段长度之间有什么关系?报文字段=确认号-序号3、释放TCP连接时,共发送接收了多少个报文段?这些报文段的序号和确认号、各控制位的取值情况是怎样的?理论上是4次报文段的,但在实际操作中却收到一个或两个。序号和确认号、控制位的取值都是根据上一个报文段然后根据某些计算方法决定的4、怎么样才能识别出一个报文段是另一个报文段的重传报文?根据控制位时钟等要素来判断七、教师评语: