文章目录
SYN flooding
简介:向target持续发送SYN=1的TCP报文,使target因内存满而拒绝服务。
命令:netwox 76 -i target_ip -p port
原理:TCP建立连接时,server收到SYN报文,会分配一个较大的TCB空间,存储相关信息,并进入half-opening状态。
防御:发现这种攻击后,开启SYN Cookies:echo 1 > /prop/sys/net/ipv4/tcp_syncookies
SYN Cookies原理:
在ACK到达之前不分配任何资源。收到SYN数据包时,服务器构造SYN + ACK数据包发送回客户端,该数据包中的序列号不再是随机值,
而是SYN Cookie,它根据以下规则构建:
- 前5位:t mod 32.设t是一个缓慢递增的时间戳(通常是time()逻辑上右移6个位置,这给出了64秒的分辨率)
- 中3位:表示m的编码值 .令m为服务器在SYN队列条目中存储的最大段大小(MSS)值
- 最后24位:s=Hash(server ip、port、client ip、port)
当客户端向服务器发回ACK数据包后,服务器从确认号中减去1,得到发送给客户端的 SYN cookie,并执行检验:
4. 检查值t与当前时间,以查看连接是否已过期。
5. 重新计算s以确定它是否确实是一个有效的SYN cookie。
6. 从SYN co