1. SYN Flood攻击原理
SYN Flood是DDos攻击的其中一种形式,其原理是:在TCP连接初始化的时候需要进行三次握手(见图1和图2),攻击者在第一次握手的数据表里面,通过伪造"Source Address"(见图3),让服务器(接收端)在进行第二次握手的时候,将确认包发向一个伪造的IP地址,由于IP地址是伪造的,因此服务器端迟迟等不到第三次的确认包,导致服务器打开了大量的SYNC_RECV
半连接。
图1,引自:https://tools.ietf.org/html/rfc793#section-3.4
图2
图3
其中图3中的Flags标志位包含了SYN、ACK、RST、FIN等值,三次握手中数据包所标识的Syn和Ack等标识就是在这个位置进行标注的。
SYN Flood的攻击就是在图一的第一步中(即图中的1),因为TCP A发向TCP B的数据表的"Source Address"是伪造的,因为TCP B向伪造的IP发送了确认包(图中的2),但是由于IP是伪造的,因为TCP B一直等不到返回的确认包(图中的3),因为TCP B一直处于半打开状态,如果有大量的这样半连接,那么就会把TCP B的连接资源耗尽,最后导致TCP B无法对其他TCP连接进行响应。
2. 在虚拟环境中模拟SYN Flood攻击
我们在Vmware中安