服务器被 DDOS 攻击怎么查攻击者 IP
被打了之后,很多人第一反应是"找到攻击者"。这篇讲清楚:能查到什么、查不到什么、以及查到之后有什么用。
先说结论:大部分情况下查不到真实攻击者。你能查到的是「攻击流量从哪些 IP 来」,而这些 IP 九成是被控制的"肉鸡",不是攻击者本人。
第一步:从日志里找异常
看 Web 访问日志(CC 攻击)
如果是 CC 攻击,日志里会有明显特征:
# Nginx 日志示例
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -20
这条命令统计访问量最高的 20 个 IP。如果某个 IP 一分钟几百次请求,基本可以确定。
再看请求路径:
# 找出被请求最多的 URL
awk '{print $7}' access.log | sort | uniq -c | sort -rn | head -10
如果某个接口(比如 /api/login)占了绝大部分,说明攻击者专打这个接口。
看连接状态(SYN Flood)
# 统计各状态的连接数
netstat -an | awk '/^tcp/ {print $6}' | sort | uniq -c | sort -rn
# 典型攻击特征:
# 大量 SYN_RECV(半连接)
# 大量 ESTABLISHED 但来自同一 IP 段
看流量来源(DDoS)
流量型攻击在服务器上很难看到细节——带宽已经满了,包都收不进来。
这时候需要:
- 机房/云厂商提供的流量分析
- 或者抓包分析(
tcpdump,但需要足够的带宽接收)
第二步:分析 IP 的真实性
查到 IP 列表后,要做三件事:
1. 查归属地
用 whois 或者 IP 归属地查询:
- 如果 IP 集中在某个国家/地区(比如大量来自海外),基本可以确定是攻击
- 如果 IP 分布在国内各省,可能是代理池
2. 查是否是代理/VPN
很多 IP 查询服务能标记「是否代理」。如果是,说明攻击者用了跳板。
3. 查是否是"肉鸡"
如果 IP 属于普通家庭宽带、网吧、学校机房,大概率是被控制的肉鸡。
这类 IP 的主人往往不知情,你封了也没用——攻击者换一批就行。
关键认知:你看到的"攻击源 IP"是流量的出发地,不是攻击者的位置。就像收到一封伪造地址的信,邮戳地址不等于寄信人。
第三步:能查到攻击者本人吗
理论上可以,实际上很难:
| 方法 | 可行性 | 说明 |
|---|---|---|
| 自己追查 | ❌ 不可能 | 没有运营商权限,查不到 IP 背后的真实用户 |
| 报警 | ⚠️ 有可能 | 警方可调取运营商数据,但需要立案且跨省协作 |
| 找安全公司 | ⚠️ 部分可行 | 能做溯源分析,但成本高,且不保证结果 |
| 反向攻击 | ❌ 违法 | 你会从受害者变成加害者 |
查到 IP 之后该做什么
1. 封禁(短期有效)
在防火墙层面 drop 掉:
# iptables 封单个 IP
iptables -A INPUT -s 1.2.3.4 -j DROP
# 封 IP 段
iptables -A INPUT -s 1.2.3.0/24 -j DROP
# 查看已封禁
iptables -L INPUT -n --line-numbers
注意:别封太大的段。封 /16 可能把整个城市的正常用户都封了。
2. 加频率限制(更有效)
比封 IP 更好的是限制频率——不管来多少 IP,每个 IP 只能发这么多次。
# Nginx 限速
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
limit_req zone=one burst=20 nodelay;
3. 记录证据(为以后做准备)
不管报不报警,都建议保存:
- 攻击时间线(开始、峰值、结束)
- 流量截图
- 攻击源 IP 列表
- 受影响的业务范围
为什么"查 IP"意义不大
三个原因:
- IP 是消耗品。攻击者手上可能有几十万个肉鸡 IP,封一批换一批。
- 封 IP 有副作用。封多了会误伤正常用户,尤其用了 CDN 的情况下。
- 追不到人。查到 IP 也追不到真实身份,除非走司法程序。
正确的思路不是"找到谁在打我",而是"让他打不动我"。
真正该做的三件事
- 隐藏源站 IP。攻击者找不到目标,比什么都管用。
- 上防护。让流量在到达你之前被清洗掉。
- 做好备份。万一被打穿,能快速恢复。
这三件事的价值,远大于花时间查攻击者是谁。
什么情况下值得追查
- 持续被同一批 IP 攻击——说明是定向的,可能有内情
- 攻击伴随数据窃取——性质更严重,必须报警
- 有明确怀疑对象——比如刚和竞争对手闹翻,能提供线索
其他情况,建议把精力放在防护上。
小结
| 问题 | 答案 |
|---|---|
| 能查到攻击源 IP 吗 | 能,从日志/流量分析 |
| 能查到攻击者本人吗 | 基本不能,需要警方介入 |
| 封 IP 有用吗 | 短期有效,长期无用 |
| 该做什么 | 隐藏源站 + 上防护 + 做备份 |
被攻击后的完整处置流程看 服务器被 DDoS 攻击后怎么恢复。