SYN泛洪一直是互联网上最常见也是最经典的DDoS攻击方式。这种攻击通过向服务器发送大量tcp请求连接报文(源IP一般是离散的),服务器为每一条连接分配资源最终导致内存耗尽而无法为后续的合法请求建立连接和服务。
攻击原理:
为了更好地理解SYN Flood攻击我们从老生常谈的TCP三次握手(three way handshake)谈起。熟悉的同学可以跳过^_^,笔者以如下的一次HTTP请求和回复(共11个报文)为例为大家说明。
细心的同学可能会发现报文中的seq是0,实际上握手时的初始序号是随机的。我们在wireshark上看到其序号为零是因为wireshark为了方便我们查看分析而做了优化,大家可以在:编辑>首选项>Protocols>TCP>Relative sequence number中关闭这个选项。
三次握手连接过程:
1.客户端向服务器发送一个syn消息请求建立连接,初始序号seq为1675805722
2.服务器对请求做出响应,首先创建传