SYN洪泛(dos)攻击和DDOS攻击

  在TCP三次握手中,服务器为了响应一个收到的SYN,分配并初始化连接变量和缓存,然后服务器发送一个SYNACK进行响应,并等待来自客户的ACK报文段,如果客户不发送ACK来完成该三次握手,最终,服务器将终止该半开连接并回收资源。

  SYN洪泛攻击过程(拒绝服务攻击)

       在第三次握手完成之前,SYN洪泛攻击 发送大量的SYN报文段,而不是完成第三次握手的步骤,随着SYN逐步到来,服务器不断为这些半开连接分配资源,但这写资源从未使用,导致服务器的连接资源消耗殆尽。

  SYN洪泛攻击的防御

       1.当当服务器接受到一个SYN洪泛攻击报文段时,它并不知道该报文段是来自一个合法的用户,还是一个SYN洪泛攻击的一部分,因此服务器不会为该报文段生成一个半开连接,相反,服务器生成一个初始TCP序列号,该序列号是SYN报文段的源和目的IP地址与端口号以及仅有该服务器知道的秘密数的一个复杂函数(散列函数),这种精心制作的初始序列号被称为"cookie".服务器则发送具有这种特殊序列号的SYNACK分组,但服务器并不记忆该cookie或任何对应于SYN的其他状态信息。

       2.如果客户是合法的,则它将返回一个ACK报文段,当服务器收到该ACK,需要验证该ACK是与前面发送的某些SYN相对应的,但服务器并没有维护有关SYN报文段的记忆,它是借助于cookie来做到的,对于一个合法的ACK,在确认字段中的值等于在SYNACK报文段中的源和目的IP地址与端口号以及秘密数运行相同的散列函数,如果该函数的结构加1余客户端的SYNACK中的确认(cookie)值相同,服务器认为该ACK对应于较早的SYN报文段,因此它是合法的,服务器会生成一个具有套接字的全开的连接。

  DDOS攻击(分布式拒绝服务)

  http://netsecurity.51cto.com/art/200903/114969.htm

       

原文地址:https://www.cnblogs.com/xyzyj/p/7345701.html