XiaomingX/ddos_attack_script_demo
GitHub: XiaomingX/ddos_attack_script_demo
多协议 DDoS 攻击模拟工具,支持 13 种 L4/L7 攻击方式,用于在授权环境下验证安全防护产品的抗 DDoS 能力。
Stars: 29 | Forks: 6
# DDoS 攻击模拟工具 - 多协议安全测试
## 项目简介
多线程多协议 DDoS 攻击模拟工具,支持 Layer 4(传输层)和 Layer 7(应用层)多种攻击方式,用于验证防护产品(WAF、防火墙、DDoS 防护系统)的抗压能力。
## 攻击方式
共支持 13 种攻击方法,覆盖 L4 传输层和 L7 应用层。
### Layer 7(应用层)
| 方法 | 说明 | 适用场景 |
|------|------|---------|
| `http_get` | HTTP GET 泛洪 | 测试 Web 服务器并发处理能力 |
| `http_post` | HTTP POST 泛洪 | 测试 POST 请求处理能力 |
| `http_pipeline` | HTTP 管道化攻击 | 单连接发送多请求,绕过连接数限制 |
| `http_slowpost` | 慢速 POST 攻击 | 缓慢发送 body,占用连接资源 |
| `slowloris` | 慢速连接占用 | 保持连接不释放,耗尽服务器连接池 |
| `tls_exhaust` | TLS 握手耗尽 | 发起 TLS 握手不完成,消耗 SSL 资源 |
| `dns_query` | DNS 查询泛洪 | 随机子域名查询,测试 DNS 服务器 |
### Layer 4(传输层)
| 方法 | 说明 | 适用场景 |
|------|------|---------|
| `tcp` | TCP 数据流泛洪 | 建立连接后持续发送数据 |
| `tcp_connect` | TCP 连接泛洪 | 快速连接/断开,耗尽连接跟踪表 |
| `udp` | UDP 数据包泛洪 | 测试 UDP 流量清洗能力 |
| `icmp` | ICMP ping 攻击 | 需 root 权限,测试 ICMP 过滤 |
| `dns` | DNS 查询攻击 | 发送 DNS 查询包 |
| `ntp` | NTP 查询攻击 | 发送 NTP 时间查询包 |
## 快速开始
### 环境要求
- Python >= 3.11
- [uv](https://docs.astral.sh/uv/)(推荐的包管理工具)
### 安装 uv
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
### 运行
# 克隆项目
git clone
cd ddos_attack_script_demo
# 使用 uv 运行
uv run python src/main.py --target 127.0.0.1 --port 80 --method http_get --threads 100 --duration 30
### 命令行参数
| 参数 | 说明 | 默认值 |
|------|------|--------|
| `--target` | 目标 IP 地址 | `127.0.0.1` |
| `--port` | 目标端口 | `80` |
| `--method` | 攻击方法 | `http_get` |
| `--threads` | 并发线程数 | `100` |
| `--duration` | 持续秒数 | `30` |
| `--config` | JSON 配置文件路径 | 无 |
| `--verbose` / `-v` | 显示调试日志 | 关闭 |
### JSON 配置文件
uv run python src/main.py --config config.json
配置文件格式参考 `config.example.json`。
## 在 Claude Code 中使用
本项目支持通过 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 直接发起攻击测试,无需手动拼接命令。
### 安装步骤
1. 确保已安装 Claude Code CLI
2. 克隆项目到本地
3. 在项目目录下启动 Claude Code:
cd ddos_attack_script_demo
claude
### 让 Agent 发起测试
在 Claude Code 中直接用自然语言描述测试需求,Agent 会自动构造命令并执行:
帮我测试 192.168.1.100 的 80 端口,用 HTTP GET 攻击,200 个线程,持续 60 秒
用 UDP 洪水测试 10.0.0.1 的 53 端口,100 个线程跑 30 秒
对 192.168.1.1 发起 Slowloris 慢速攻击测试,500 线程,持续 2 分钟
测试目标服务器的 TLS 握手处理能力,用 tls_exhaust 方法,100 线程跑 30 秒
用 HTTP 管道化攻击测试 10.0.0.5 的 443 端口,200 线程持续 60 秒
对 DNS 服务器 8.8.8.8 发起 DNS 查询泛洪测试,150 线程跑 30 秒
用 tcp_connect 方法快速连接/断开测试 192.168.1.1 的 80 端口,300 线程跑 20 秒
### 使用 JSON 配置文件
也可以让 Agent 帮你生成配置文件再执行:
帮我创建一个配置文件,目标是 192.168.1.100:443,用 http_post 方法,300 线程,持续 120 秒,然后用这个配置文件运行测试
### Agent 可以做什么
- ✅ 根据你的描述自动选择攻击方法和参数
- ✅ 自动构造 `uv run python src/main.py ...` 命令
- ✅ 执行测试并展示实时输出
- ✅ 帮你生成和修改 JSON 配置文件
- ✅ 解释每种攻击方法的原理和适用场景
## 警告及免责声明
- 本项目仅用于安全测试、教育及研究目的,禁止非法使用。
- 使用本工具前请务必获得网络或系统所有者的明确授权。
- 作者和本仓库不对任何违法行为负责。
## 许可证
MIT License
标签:ASM汇编, DDoS, Python, 内核驱动, 压力测试, 安全测试, 攻击性安全, 无后门, 网络协议, 逆向工具, 配置错误