TCP协议分析windows
一,实验目的浏览器
1.掌握TCP协议的首部格式。缓存
2.掌握TCP协议的序号确认机制。服务器
3.掌握TCP协议的流量控制机制。ide
4.学会协议分析软件发送自定义数据包的方法。命令行
二,实验原理3d
1.TCP协议是面向链接服务和提供可靠数据传输的协议,经过抓包分析TCP如何创建链接,数据传输,释放链接来分析TCP协议。blog
2.TCP协议是经过三次握手来创建链接,经过序列号和确认号来维护双方的通讯,经过发送窗口的大小来控制流量。get
3.经过多台电脑创建一台电脑的TCP链接,能够分析流量控制的实质。it
三,实验步骤
1.在IP地址为 192.168.0.250的主机A的命令行窗口里输入telnet 218.65.113.46 会发现链接不上,由于23号端口没有打开。打开IP地址为218.65.113.46的主机B的浏览器和主机A的抓包软件Irris,而后在主机A命令行输入telnet 218.65.113.46 80,过滤TCP及80,23端口,捕获TCP协议数据包,并分析。
(1)
这是第一次握手: IP地址为192.168.0.250的主机A向IP地址为218.65.113.46的主机B发送链接请求,A随机初始化本身的序列号50596762,确认号为0,初始化A的接收窗口大小为16384,发送SYN=1,此时ACK=0。
(2)
这是第二次握手: B 随机初始化本身的序列号804733534,确认号为A第一次握手的序号加1(指望对方发送的下一个数据的第一个字节的编号)作确认,为50596763,初始化B的接收窗口大小,发送SYN=1,ACK。
(3)
第三次握手: 主机A对主机B作确认,SYN=0,ACK=1,序列号为上一帧的确认号,确认号为B第二次握手的序号加1。
(4)第4至9帧。
第四帧为IP地址为192.168.0.250的主机A向IP地址为218.65.113.46的主机B发送的帧
(5)第五帧为B向A发送的:
(7)第7帧仍是B向A发送的:
(11)因为有条件的抓包,有些特殊状况不特别列出来分析。
TCP协议有正常断开链接和非正常断开链接。RST为1表示为异常断开链接。RST复位重置标记,表示TCP链接中出现严重错误,必须强行释放链接。
注意:在TCP中,特殊报文(SYN=1,FIN=1,RST=1)的确认号加1。
实验分析
(1)TCP 协议是面向字节的。TCP 将所要传送的报文当作是字节组成的数据流,并使每个字节对应于一个序号。在链接创建时,双方要商定初始序号。TCP 每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。 TCP 的确认是对接收到的数据的最高序号表示确认,表示接收端指望下次收到的数据中的第一个数据字节的序号。TCP是指望确认和累积确认。
(2)TCP属于SR(选择性重传),即发送方某个分组出错或丢失只重传该分组。接收方增长接受窗口(接受缓存),若收到的分组在接收窗口内且乱序,缓存该分组,等到分组按序后一块儿提交,接受窗口的大小通常等于发送方窗口的大小。
(3)TCP创建链接的过程称为3次握手,第一次握手(syn=1,ack=0,sn1=随机数,ackno=0),第二次握手(syn=1,ack=1,sn2=随机数,ackno=sn1+1),第三次握手只是对第二次做确认。TCP 释放链接的过程置FIN标记为1。
(4)TCP的流量控制指的是接收方明确地经过接收窗口大小,限制发送方发送窗口的最大值,从而达到接收方可以拥有足够的缓存接收数据的目的。TCP流量控制:发送端若是发送的数据很小,第一次会照常发送,后面的会等待(这里windows是200ms)等发送数据较大时再放入TCP段中发送。能够在命令行输入telnet IP地址 21,IP地址主机打开ftp服务器,链接上后,输入ab,会分别打包a,b发送个对方。若是快速的输入abc,则第一次发a,第二次就会有bc一块儿发送出去。(这里不抓包作实验分析。)