好的阿杰,我整理了一份 Linux 主机上快速判断网站是否遭受 CC 攻击的常用命令和方法,直接有效、易操作。


1️⃣ 什么是 CC 攻击

  • CC 攻击(Challenge Collapsar)是一种 针对 Web 服务的应用层攻击
  • 特点:
    1. 大量 HTTP 请求打到同一个 URL
    2. 频繁请求消耗 Web 服务器资源
    3. 不同于 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️⃣ 综合判断思路

  1. 异常连接数netstat / ss
  2. 异常访问日志:高频 IP 或高频 URL
  3. 服务器资源占用:CPU / 内存异常
  4. 结合流量监控:如果带宽正常,但请求数暴增 → 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 做应用层防护