[编辑本段]基本简介
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。 第二次握手:服务器收到syn包,必须确认客户的SYN(ac 三次握手k=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务 器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念: 未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于 Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。 Backlog参数:表示未连接队列的最大容纳数目。SYN-ACK重传次数服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重 三次握手协议传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。 半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
[编辑本段]基本原理
三次握手协议建设一个小型的模仿环境假设有3台接入互联网的机器。A为攻击者操纵的攻击机。B为中介跳板机器(受信任的服务器)。C为受害者使用的机器(多是服务器),这里把C机器锁定为目标机器。A机器向B机器发送SYN包,请求建立连接,这时已经响应请求的B机器会向A机器回应SYN/ACK表明同意建立连接,当A机器接受到B机器发送的SYN/ACK回应时,发送应答ACK建立A机器与B机器的网络连接。这样一个两台机器之间的TCP通话信道就建立成功了。 B终端受信任的服务器向C机器发起TCP连接,A机器对服务器发起SYN信息,使C机器不能响应B机器。在同时A机器也向B机器发送虚假的C机器回应的SYN数据包,接收到SYN数据包的B机器(被C机器信任)开始发送应答连接建立的SYN/ACK数据包,这时C机器正在忙于响应以前发送的SYN数据而无暇回应B机器,而A机器的攻击者预测出B机器包的序列号(现在的TCP序列号预测难度有所加大)假冒C机器向B机器发送应答ACK这时攻击者骗取B机器的信任,假冒C机器与B机器建立起TCP协议的对话连接。这个时候的C机器还是在响应攻击者A机器发送的SYN数据。 TCP协议栈的弱点:TCP连接的资源消耗,其中包括:数据包信息、条件状态、序列号等。通过故意不完成建立连接所需要的三次握手过程,造成连接一方的资源耗尽。 通过攻击者有意的不完成建立连接所需要的三次握手的全过程,从而造成了C机器的资源耗尽。序列号的可预测性,目标主机应答连接请求时返回的SYN/ACK的序列号时可预测的。
分享到:
相关推荐
标题中的“TCP三次握手PPT”指的是TCP协议在建立连接时执行的三次握手过程,这一过程是TCP可靠传输的基础。TCP是一种面向连接的传输层协议,确保数据在传输前双方已建立可靠的通信链路。 描述中提到的“TCP三次握手...
TCP三次握手,TCP三次握手是TCP连接建立过程的可靠性保证
### Wireshark入门:TCP三次握手详解 #### 一、引言 在互联网技术领域,TCP/IP协议族作为网络通信的基础框架,对于保障数据传输的可靠性和安全性具有至关重要的作用。其中,TCP(Transmission Control Protocol)...
首先,来详细介绍TCP三次握手的过程: 1. 第一次握手:客户端发送一个带有SYN(同步序列编号)标志的数据包给服务器端,进入SYN_SEND状态,表示客户端希望与服务器建立连接。这个包中同时也会包含客户端的初始...
TCP 三次握手机制详解 TCP 三次握手机制是TCP/IP协议中的一种面向连接的可靠传输机制,它是传输层中的核心机制。在网络通信中,TCP 三次握手机制保证了数据的可靠传输和面向连接的通信。 什么是 TCP 三次握手机制...
### Wireshark抓包分析TCP三次握手四次挥手详解及网络命令 #### 一、OSI与TCP/IP体系结构模型 在深入理解Wireshark抓包分析TCP三次握手及四次挥手之前,我们首先需要了解OSI七层模型与TCP/IP四层/五层模型的基础...
### 模拟TCP三次握手 在计算机网络领域中,TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它为应用层提供了一个可靠的通信服务,通过三次握手来建立一个全双工的可靠连接。 #### 三...
首先,我们来看“TCP三次握手”。当两个设备想要建立一个TCP连接时,它们必须经过以下三个步骤: 1. 第一次握手:客户端发送一个带有SYN(同步序列号)标志的数据段,请求建立连接。这个数据段中包含了客户端选择的...
在TCP/IP通信中,TCP连接的建立和关闭过程分别称为三次握手和四次挥手,这两个过程对于理解TCP连接的工作原理至关重要。 首先,我们来详细讲解TCP的三次握手过程: 1. **第一次握手**:客户端(Client)发送一个...
TCP三次握手和四次挥手是互联网中最重要的基础知识点之一,尤其在面试中,它们是检验应聘者是否具备扎实网络基础知识的常用问题。面试官通常会考察应聘者对这些过程的理解程度,以及能否准确描述其细节。以下是关于...
flash作品:tcp三次握手动画演示 计算机网络、多媒体通信课堂大作业、课程设计等。
用wireshark实际操作来分析tcp三次握手的整个过程,看完会对三次握手有更深入了解
TCP三次握手及原理PPT教案.pptx
TCP三次握手及原理,以MITNICK攻击为例,进行说明
以下是对TCP三次握手的详细讲解: 一、TCP连接的建立 在TCP连接开始前,客户端和服务器端都需要通过三次握手来确认彼此的通信能力,防止数据丢失或无效的数据包。这个过程可以分为三个阶段: 1. 第一次握手:...
标题中的“wireshark tcp三次握手”指的是使用Wireshark这一网络封包分析软件来观察和理解TCP(传输控制协议)的三次握手过程。在TCP/IP通信协议中,三次握手是一种建立连接的方法,确保双方都能正常通信。在这个...
计算机A首先发送一个syn=1,并随机产生一个Sequence number=xxxxxxxxx(随机)的请求数据包发送给服务器B。当服务器B收到这个请求数据包后由syn=1得知,计算机A要与服务器B建立连接关系。