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, 内核驱动, 压力测试, 安全测试, 攻击性安全, 无后门, 网络协议, 逆向工具, 配置错误