SYNFlood攻击原理剖析与检测规则实战

admin 2026-03-03 04:04:14 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文剖析SYNFlood攻击原理,即利用TCP三次握手缺陷伪造源IP耗尽服务器资源。文档通过Kali与hping3模拟攻击,结合tcpdump抓包分析,编写Suricata规则设定阈值检测SYN请求。该内容涵盖理论分析与规则编写实战,为网络安全人员提供了有效的检测方案与防御参考。 综合评分: 82 文章分类: 网络安全,安全运营,实战经验,安全工具,红队


cover_image

SYN Flood 攻击原理剖析与检测规则实战

原创

网络安全菜鸟 网络安全菜鸟

安全孺子牛

2026年2月28日 09:46 陕西

点击蓝字

关注我们

1.SYN Flood攻击简介

1. 1什么是 SYN Flood

SYN Flood 是互联网上最原始、最经典的 DDoS(分布式拒绝服务)攻击之一。它的核心是利用 TCP 协议的三次握手机制漏洞:攻击者通过工具或僵尸主机,向目标服务器发送海量带有伪造源 IP / 端口的 TCP SYN 报文;服务器收到报文后会回应 SYN-ACK 报文,并生成大量 “半连接” 等待客户端确认;当服务器的连接资源被这些虚假半连接耗尽时,就无法为正常用户提供服务。

1.2SYN Flood 攻击原理

(1)要理解攻击原理,首先要掌握 TCP 三次握手的正常流程:

  1. 1)客户端发起连接:向服务器发送 SYN 报文,等待服务器确认(报文携带客户端真实 IP 和端口);
  2. 2)服务器响应:收到 SYN 报文后,向客户端返回 SYN-ACK(同步确认)报文;
  3. 3)客户端确认:收到 SYN-ACK 报文后,发送 ACK 报文,服务器接收后完成握手,TCP 连接建立。

(2) SYN Flood攻击原理

黑客发送的 SYN 报文使用伪造的源 IP / 端口,服务器回应的 SYN-ACK 报文会发送到不存在的地址,无法收到客户端的 ACK 确认。服务器会在超时前一直维护这些 “半开放连接(半连接)”,每一个半连接都会占用服务器的连接数资源。当半连接数占满服务器上限时,正常用户的连接请求就会被拒绝,从而实现拒绝服务攻击。

2.SYN Flood攻击规则编写

2.1环境模拟

(1)使用Kali进行攻击测试

┌──(root㉿kali)-[~]
└─# hping3 -p 22 -S --rand-source --flood 192.168.100.120

# -p               指定端口
# -S  --syn        设置SYNflag
# --rand-source    生成随机虚假源IP地址
# --flood             竭尽全力发送数据包

2.2服务器抓包

建议抓包时间10秒钟即可,时间过长会导致数据包太大

root@suricata:~#  tcpdump -i ens33 port 22 -w syn-flood.pcap

打开数据包会发现大量的源IP地址发起的SYN请求

对数据包进行协议分级查看均为TCP连接

2.2编写suricata检测规则

由于源IP地址是随机生成的,需要对目的IP地址进行统计

alert tcp any any -> any any (msg:"检测到SYN Flood 洪水攻击";flags: S;threshold:type both, track by_dst, count 15, seconds 30; classtype:denial-of-service;sid:1000003; rev:1;)

# alert tcp any any -> any any:定义了一个针对TCP协议的警报,从任何IP地址到任何IP地址。
# msg:"检测到SYN Flood 洪水攻击":定义了警报的消息,当规则触发时,这个消息会显示在警报日志中。
# flags:S:指定只匹配TCP标志位中SYN为1的包,即SYN包。
# threshold:type both, track by_dst, count 15, seconds 30:设置阈值,如果在30秒内对同一目标IP(dst)有15个SYN包,则触发警报。type both表示当达到阈值时,既生成警报也计数。
# classtype:denial-of-service:分类为拒绝服务攻击。
# sid:1000001:定义了一个唯一的规则ID。
# rev:1:规则的修订号。

2.3查看规则告警

root@suricata:/opt/suricata# suricata -c /etc/suricata/suricata.yaml -S /opt/suricata/local.rules -i ens33 -k none -l /opt/suricata/log

你点的每个赞,我都认真当成了喜欢


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全孺子牛 网络安全菜鸟 网络安全菜鸟《SYN Flood 攻击原理剖析与检测规则实战》

评论:0   参与:  0