好的阿杰,我整理了一份 Linux 主机上快速判断网站是否遭受 CC 攻击的常用命令和方法,直接有效、易操作。
1️⃣ 什么是 CC 攻击
- CC 攻击(Challenge Collapsar)是一种 针对 Web 服务的应用层攻击
- 特点:
- 大量 HTTP 请求打到同一个 URL
- 频繁请求消耗 Web 服务器资源
- 不同于 DDoS,通常不直接耗尽带宽
2️⃣ 快速判断方法
方法一:使用 netstat
查看连接数
# 查看 80 端口连接数按 IP 排序
netstat -ntu | grep ':80' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
- 输出示例:
120 192.168.1.100
80 10.0.0.5
...
分析:
- 某个 IP 连接数异常多 → 可能是攻击源
- 如果大量不同 IP 连接数突然飙升 → 可能是 CC 攻击
方法二:使用 ss
命令
ss -H state established '( sport = :http or sport = :https )' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
- 与
netstat
类似,更快更轻量
方法三:查看 Web 访问日志
以 Nginx 为例:
# 统计某个 URL 被访问次数
cat /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -nr | head
- 如果某个 URL 被访问次数异常高 → 可能被 CC 攻击
统计单个 IP 的请求数:
cat /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head
方法四:实时监控 HTTP 请求
# 实时查看请求 IP
tail -f /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head
- 观察瞬时请求数
- 高速增长 → 可疑
方法五:使用 top
/ htop
监控服务器资源
top -u www-data
- CPU 或内存被某个 Web 进程占满
- 高并发且单进程占用 CPU 异常 → CC 攻击可能性大
3️⃣ 综合判断思路
- 异常连接数:
netstat
/ss
- 异常访问日志:高频 IP 或高频 URL
- 服务器资源占用:CPU / 内存异常
- 结合流量监控:如果带宽正常,但请求数暴增 → CC 攻击典型特征
4️⃣ 简单防御建议
- Nginx 限流:
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location / {
limit_req zone=one burst=5 nodelay;
}
}
}
- 防火墙封禁异常 IP:
iptables -A INPUT -s 192.168.1.100 -j DROP
- 使用 CDN 或 WAF 做应用层防护
发表回复