针对TCP三次握手的缺点可能有什么危害

Posted toya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对TCP三次握手的缺点可能有什么危害相关的知识,希望对你有一定的参考价值。

//https://www.cnblogs.com/lsgxeva/p/9192704.html

1.DDoS(Distributed Denial of Service,分布式拒绝服务)

SYN Flood

  SYN Flood是互联网上最经典的DDoS攻击方式之一,最早出现于1999年左右,雅虎是当时最著名的受害者。SYN Flood攻击利用了TCP三次握手的缺陷,能够以较小代价使目标服务器无法响应,且难以追查。

标准的TCP三次握手过程如下:

1、客户端发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;

2、服务器在收到客户端的SYN报文后,将返回一个SYN+ACK(即确认Acknowledgement)的报文,表示客户端的请求被接受,同时TCP初始序号自动加1;

3、客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加1。

  经过这三步,TCP连接就建立完成。TCP协议为了实现可靠传输,在三次握手的过程中设置了一些异常处理机制。第三步中如果服务器没有收到客户端的最终ACK确认报文,会一直处于SYN_RECV状态,将客户端IP加入等待列表,并重发第二步的SYN+ACK报文。重发一般进行3-5次,大约间隔30秒左右轮询一次等待列表重试所有客户端。另一方面,服务器在自己发出了SYN+ACK报文后,会预分配资源为即将建立的TCP连接储存信息做准备,这个资源在等待重试期间一直保留。更为重要的是,服务器资源有限,可以维护的SYN_RECV状态超过极限后就不再接受新的SYN报文,也就是拒绝新的TCP连接建立。

  SYN Flood正是利用了上文中TCP协议的设定,达到攻击的目的。攻击者伪装大量的IP地址给服务器发送SYN报文,由于伪造的IP地址几乎不可能存在,也就几乎没有设备会给服务器返回任何应答了。因此,服务器将会维持一个庞大的等待列表,不停地重试发送SYN+ACK报文,同时占用着大量的资源无法释放。更为关键的是,被攻击服务器的SYN_RECV队列被恶意的数据包占满,不再接受新的SYN请求,合法用户无法完成三次握手建立起TCP连接。也就是说,这个服务器被SYN Flood拒绝服务了。

2.。。。

 

 

 

 

返回 网络编程

以上是关于针对TCP三次握手的缺点可能有什么危害的主要内容,如果未能解决你的问题,请参考以下文章

TCP协议为什么要三次握,要四次分手

TCP 三次握爪 四次挥手

TCP和UDP的区别(三次握手四次挥手全过程图解)

TCP三次握手四次挥手

字节一面:TCP 三次握手,问的好细!

字节一面:TCP 三次握手,问的好细!