TCP协议分析.docx
《TCP协议分析.docx》由会员分享,可在线阅读,更多相关《TCP协议分析.docx(13页珍藏版)》请在冰豆网上搜索。
TCP协议分析
TCP协议分析
一、实验目的
1.对tcp的3次握手做详细分析
2.对tcp的流量控制做详细分析
3.对tcp的序号确认做详细分析
二、实验原理
1.tcp报文格式
2.TCP连接的建立
TCP是面向连接的协议。
在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。
对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq和来自对方成功传输确认的应答号ack(指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN,应答信号写为ACK。
整个同步的过程称为三次握手,下图说明了这个过程:
3.TCP连接的释放
对于一个已经建立的连接,TCP使用四次握手来结束通话(使用一个带有FIN附加标记的报文段)
4.TCP重传机制
TCP每发送一个报文段,就对这个报文段设置一次计时器。
只要计时器设置的重传时间到期,但还没有收到确认,就要重传这一报文段。
三、实验步骤
1、实验准备
1)打开虚拟机
设置ip为172.16.6.3
2)设置VM1ip为172.16.6.2
3)互ping及选端口
虚拟机ping主机
主机ping虚拟机
虚拟机中输入Netstat–an
对此,我选择135端口
4)对wireshark进行准备工作
2、实验步骤
1)通过telnet172.16.6.3135向虚拟机发包
抓到三帧握手的包
第一帧主机向虚拟机发请求报文
首部长度headerlegth:
20字节
主机随机开放的端口(源端口):
2328
虚拟机接收端口(目标端口号):
135,
序号默认为0,实际为把ba272b7d
校验和:
Syn=1,seq=0,ack=0;
滑动窗口大小:
65535
最大字段:
1460字节
第二帧虚拟机向主机确认
接收方当前可用缓存窗口大小64240,表示当前最多可发送64240个字节
Syn和ack都为1,
确认号变为1
第三帧主机向虚拟机确认
Syn=0,ack=1,seq=1,
序列号为1
主机窗口大小为46537
在telnet中输入字母b后,得到第四帧和第五帧
第四帧(主机向虚拟机发包)
序列号seq=1,期待得到序列号为2下一帧的报文
窗口大小为46537
确认号ack为1
数据的ascii码为62(b)
第五帧(虚拟机向主机发确认包)
序列号seq为1,确认号ack为2,虚拟机当前可用缓存窗口大小64239,第二帧时窗口大小为64240,现在为64239因为接收到了一个数据,窗口大小-1.
输入一串数据后得到12帧
从的六帧开始
序列号seq为2,确认号ack为1,期待得到序列号为3下一帧的报文
主机当前可用缓存窗口大小64237,
第七帧虚拟机向主机确认
序列号seq为1,确认号ack为3,虚拟机当前可用缓存窗口大小64238,第5帧时窗口大小为64249,现在为64238因为接收到了一个数据,窗口大小-1.
第17帧虚拟机向主机确认
序列号seq为1,确认号ack为8,虚拟机当前可用缓存窗口大小64233,第7帧时窗口大小为64248,现在为64233因为接收到了五个数据,窗口大小-5
断开连接收到四帧挥手的包
第18帧:
主机向虚拟机发送断开请求,序号8,确认号1
第19帧:
虚拟机单独向主机发送断开响应报文,序号1,确认号9
第20帧:
虚拟机向主机发送断开请求,序号1,确认号9
第21帧:
主机向虚拟机发送断开响应报文,序号9,确认号2
TCP协议分析结束