您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 房地产 > 实习3__________________TCP协议分析
1、TCP协议分析实习目的捕获一对通信的TCP连接、数据传送、释放的整个过程,分析其三次握手连接、四次握手释放的会话过程中每一步通信的参数传送,以及可靠传输的实现。实习内容TCP是TCP/IP体系中面向连接的运输层协议,提供全双工的和可靠交付的服务。TCP报文段的格式如下图所示:目的端口数据偏移检验和选项和填充源端口序号紧急指针窗口确认号保留FIN32bitTCP首部数据20字节SYNRSTPSHACKURG源端口和目的端口:各占2个字节,是运输层与应用层的服务接口。序号:占4个字节。TCP连接传送的数据流中的每一个字节都被编上一个序号。首部中序号字段的值指的是本报文段所发送的数据的第一个字节的序号。确认号:占4个字节,是期望收到对方下一个报文段的数据的第一个字节的序号。数据偏移:占4bit,它指出报文段的数据起始处距离TCP报文段的起始处有多远。实际上就是TCP报文段首部的长度。保留:占6bit,保留为今后使用。紧急比特URG:当URG=1时,表明紧急指针有效。它告诉系统报文段中有紧急数据,应尽快传送。确认比特ACK:ACK=1时确认号字段才有效,ACK=0时确认号字段无效。推送比特P。
2、USH:接收方接收到PUSH=1的报文段时会尽快的将其交付给接收应用进程,而不再等到整个接收缓存都填满后再向上交付。复位比特RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接。同步比特SYN:在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,应在响应的报文段中使SYN=1和ACK=1。因此,SYN=1就表示这是一个连接请求或连接接收报文。终止比特FIN:当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。窗口:占2个字节,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。校验和:占2个字节,校验的范围包括首部和数据两个部分,计算校验和时需要在报文段前加上12字节的伪首部。紧急指针:占2个字节,指出本报文段中紧急数据最后一个字节的序号。只有当紧急比特URG=1时才有效。选项:长度可变。TCP只规定了一种选项,即最大报文段长度MSS(MaximumSegmentSize)。TCP连接建立的过程如下图所示:SYN,SEQ=x主机BSYN,。
3、SEQ=y,ACK=x1ACK=y1被动打开主动打开确认确认主机ATCP连接释放的过程如下图所示:FIN,SEQ=xACK=x1ACK=y1FIN,SEQ=y,ACK=x+1应用进程释放连接通知主机应用进程应用进程释放连接主机B主机A实习结果在访问一个网站时抓到这三个TCP报文的。这三个TCP报文段表示了TCP连接时的三次握手阶段。1)第一个TCP报文这是要建立连接的客户向服务器发出连接请求段。在TRANSMISSIONCONTROLPROTOCOL这张截图中我们可以知道源端口号也就是主机端口号为1833,而目的端口号为HTTP的80端口,确认号为0(相对的),而首部长度为32字节,在标志位FLAGS(0x0002)中,只设置了SYN,也就是位同步标志,表示请求建立连接。窗口大小WINDOWSIZE为8192,校验和CHECKSUM为0xb10,说明是正确的。选项是16字节,里面的内容有最大段(MSS)大小为1460(0x020405b4)字节,占4个字节。时间戳(Timestamp)为0x080a0048bc6100000000,占10字节,表示tsval4766817,ts。
4、ecr为0。有SACKpermitted为0x0402,占2个字节。2)第二个TCP报文这是服务器在收到请求后,发回确认(SYN+ACK)。在TRANSMISSIONCONTROLPROTOCOL这张截图中我们可以知道源主机(服务器)端口号为80,目的主机(客户机)端口号为18602,SEQUENCENUMBER=0,ACK=1,首部长度为36字节。在标志位(0x0012)中设置了ACK和SYN,其中SYN表示认可连接,ACK表示对所接受的段的确认。窗口大小(WINDOWSIZE)为5792,校验和(checksum)为0x2b65,表示正确。选项(options)占16字节,其中包括最大段(MSS)大小为1420字节,占4字节。还有时间戳为0x080a70024e220048bc61,占10字节。还包括SACKPERMITTED为0x0402,占2字节。3)第三个TCP报文这是客户向服务器发出的确认段。源主机(客户机)端口号为18602,目的主机(服务器)端口号为80,SEQUENCENUMBER=0,ACK=1,首部长度为32字节。标志位(0x0010)中只设置了ACK,表示对所接。
5、受的段的确认。窗口大小为16896,校验和为0x1a8b,表示正确。选项部分占12字节,包括10字节的时间戳(0x080a0048bc7170024e22),其他两个字节为NOP(0x01)。这样就完成了TCP连接的建立阶段。。
本文标题:实习3__________________TCP协议分析
链接地址:https://www.777doc.com/doc-2531683 .html