# SYN 泛洪

SYN泛洪（SYN Flood）是一种常见的**网络拒绝服务攻击（DoS攻击）**，它通过大量发送伪造的TCP连接请求，耗尽目标服务器的资源，导致合法用户无法建立连接。

***

## 什么是 SYN 泛洪攻击？

TCP建立连接时，需要进行“三次握手”：

1. 客户端发送 SYN 报文，表示请求建立连接。
2. 服务器回应 SYN+ACK 报文，等待客户端确认。
3. 客户端回复 ACK，连接建立。

**SYN泛洪攻击就是攻击者发送大量 SYN 报文，但不回复服务器的 SYN+ACK，导致服务器一直等待确认，消耗大量半连接资源，最终无法为正常请求分配资源。**

***

## 攻击过程简述

* 攻击者伪造大量源IP地址，向目标服务器发送大量 SYN 包。
* 服务器为每个 SYN 请求分配资源，进入半连接状态，等待客户端的 ACK。
* 由于 ACK 不到，半连接资源持续占用。
* 服务器半连接队列被占满，合法请求无法连接，服务瘫痪。

***

## 防御措施

* **SYN Cookies**：服务器不为半连接分配资源，而是通过编码SYN信息在序列号中，等待确认时再验证。
* **限制半连接数量**：设置最大半连接数，超过拒绝新连接。
* **防火墙过滤**：丢弃异常或伪造的 SYN 包。
* **使用代理或负载均衡**：分散攻击压力。

***
