在网络世界中,正常的网络访问就像一场有序的对话。当我们访问网站时,客户端与服务器要进行 TCP 三次握手来建立连接。首先,客户端向服务器发送一个 SYN 包,请求建立连接,这就如同向服务器打招呼说“我想连接”;服务器收到后,会回复一个 SYN+ACK 包,表示“我收到了你的请求,可以连接”。最后,客户端再回复一个 ACK 包,连接正式建立。
然而,SYN 洪水攻击却打破了这种秩序。攻击者会伪造大量的 IP 地址,向目标服务器发送海量的 SYN 包。服务器收到这些 SYN 包后,会按照正常流程回复 SYN+ACK 包,并等待客户端的 ACK 包来完成连接。但由于攻击者的 IP 是伪造的,服务器永远等不到 ACK 包。大量这样半开放的连接会占用服务器的资源,如内存、连接队列等,导致服务器无法处理正常用户的连接请求,最终使服务器瘫痪,这就是 SYN 洪水攻击的原理。