syn洪流原理

TCP三次握手

建立连接 发送或回应
第一次握手 客户端发送报文,标志位为SYN(seq=a)
第二次握手 服务器发送报文,标志位为SYN,ACK(seq=b,ack=a+1)
第三次握手 客户端回应服务器报文,标志位为ACK(sqq=a+1,ack=b+1)

确认标志位的作用:在接收到数据后加1,表示已经接收到该数据

syn洪流原理_第1张图片

SYN洪流

如果在上述过程中,攻击者伪造大量的源IP 地址,分别向服务器端发送大量的SYN 包,此时服务器端会返回SYN/ACK包,因为源地址是伪造的,所以伪造的IP 并不会发送应答包,服务器端没有收到伪造IP的回应,会重试3~5次并且等待一个SYNTime (一般为30秒至2分钟),如果超时则丢弃这个连接。攻击者大量发送这种造源地址的SYN 请求,服务器端将会消耗非常多的资源(CPU和内存)来处理这种半连接,同时还要不断地对这些IP进行SYN+ACK重试最后的结果是服务器无暇理睬正常的连接请求,导致拒绝服务,这就是SYN洪流

SYN洪流就是攻击者在TCP三次握手的过程中,只向服务器发送大量的SYN请求包,在收到服务器的SYN,ACK包后不做回应,而是不断地发送SYN包,这样一来,服务器收不到客户端的回应包,就会建立一个半连接SYNtime,从而消耗服务器的大量资源并且对这些SYN请求包不断地重试,从而导致正常的连接请求被忽略

你可能感兴趣的:(网安面试宝典,网络,安全,服务器,面试)