当主机发起一个新的TCP连接时,一个TCP段的SYN标志被激活。如下所示的连接建立是成功地完成了当执行3次握手的方法:
攻击者可能故意制造TCP SYN段涌入服务器, 而不回服务器的SYN响应。其结果就是使在服务器的会话表被填满,而与其正在进行正常的会话请求不能得到服务器的资源,导致该连接不能被接受,直到其TCP活动定时器到达,才开始丢弃不完整的会话合法的连接请求。
这种攻击通常是难以追查攻击者伪造源IP地址。在TCP SYN攻击的原理解释,介绍如下:
Kali测试环境下使用hping3执行tcp flood,命令如下
hping3 --rand-source -c 30 --syn -p 80 www.dvwa.com
在victim系统上,抓包如图:
其中,注意RST报文是随机源地址发送的,在SYN/ACK不能达到伪造的IP地址时, victim 系统TCP Retransmission 重传发送。
特征:
① 大量syn标志包。
② 大量的RST标志包
③ 大量的SYN+ACK重传
其它:
利用SYN cookies 可以防止SYN Flood,但是可能会产生TCP连接欺骗攻击,理论上穷举初始化序列号(ISN)就可做到,不过应用成本较高,暂时忽略。