下载站被同行刷量,接高防线路前必须完成日志备份、流量特征抓取和异常请求留存,否则切换线路后原始证据被清空,后续维权和防御策略调整都无从谈起。
下载站被同行刷量,为什么要先留证再切高防
下载站这类业务有个特点:流量波动大,且容易被恶意请求伪装成正常访问,同行刷量的手段通常是模拟真实用户下载、频繁请求下载链接、消耗带宽和服务器连接数,目的就是让你的服务器CPU跑满、带宽打满,最终站点打不开,等你急着接入高防线路时,如果没提前留存证据,会发生三件麻烦事。
第一,高防服务商售后排查时会要求你提供攻击特征,拿不出日志和抓包数据,对方只能按默认策略清洗,效果大打折扣,第二,后续如果要走法律途径或平台投诉,证据链不完整,连基本的请求时间、来源IP、UA特征都凑不齐,立案门槛都够不着,第三,你自己的防护规则优化没有参照物,下次同类刷量换个端口或参数照样打进来。
所以留证这个动作,不是给高防服务商看的,是给你自己的业务安全兜底的。
接高防线路前的取证操作清单
核心逻辑是把刷量流量从正常流量里剥离出来,存成可回溯的文件,具体分四步走。
先封禁再留证,顺序不能反
很多站长一发现被刷,第一反应是开防火墙封IP,这个动作本身没错,但要注意顺序,先把当前正在跑的请求记录下来,再去封禁,因为一旦封禁规则生效,后续的刷量请求会被直接丢弃,你拿到的日志只有拦截记录,缺少完整的请求报文,证据价值大打折扣。
实际操作中,建议先执行一条抓包命令,抓个3到5分钟,把攻击流量特征固定下来,然后立即备份当前站点的访问日志,最后再封IP,抓包工具有很多,服务器上直接用tcpdump就行,命令大概是 tcpdump -i eth0 -w /data/attack.pcap port 80,跑个两三分钟,Ctrl+C结束,文件就存下来了,注意抓包文件会比较大,提前确认磁盘空间足够。
Nginx日志里的刷量特征怎么筛

日志是留证的重头戏,下载站的访问日志通常记录在 /www/wwwlogs/ 目录下,按站点名分文件,接入高防前,你需要做三件事。
第一,备份原始日志。 用 cp 命令把当天的日志文件复制一份到独立目录,/data/evidence/,然后对日志文件做MD5校验,记录校验值,这一步是为了证明日志文件在后续分析过程中没有被篡改。
第二,按状态码筛出异常请求。 刷量流量往往会触发大量403、404、499这类状态码,执行 awk '{print $9}' access.log | sort | uniq -c | sort -rn 统计状态码分布,如果404和499占比异常高,说明有扫描或恶意请求在跑,把这些请求单独提取出来存成文件,用 grep " 404 " access.log > /data/evidence/404.log。
第三,按IP维度统计请求频次。 单个IP在一分钟内请求下载链接超过几十次,基本可以判定为刷量行为,用 awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -50 拉出请求量最高的IP列表,前几十个IP大概率就是刷量源。
连接数和带宽的实时证据采集
日志只能说明有异常请求,要证明业务确实被打垮了,还需要采集服务器层面的运行数据,这一步最好在攻击发生时同步操作,晚了数据就没了。
登录宝塔面板,找到监控页面,把CPU使用率、网络流入流出带宽、负载均衡这三个指标的实时曲线截图保存,同时用 ss -n state established | wc -l 查看当前TCP连接数,正常下载站的并发连接数在几百到几千之间,如果瞬间飙到几万甚至更多,就是被刷量的直接证据。
这些截图和数据要打上时间戳,可以用 date 命令先打印当前时间再截图,或者直接在文件名里加上时间,server-load-20260115-1430.png,保存到 /data/evidence/ 目录下,和日志文件放一起。
用表格梳理证据类型和保存周期
不同类型的证据,保存周期和格式要求不一样,下面这个表格是我自己整理的经验值,供你参考。

| 证据类型 | 采集方式 | 保存格式 | 建议保存周期 |
|---|---|---|---|
| 原始访问日志 | 复制日志文件并MD5校验 | .log / .txt | 至少30天 |
| 抓包数据 | tcpdump实时抓取 | .pcap | 至少15天 |
| 服务器监控截图 | 宝塔面板截图 | .png / .jpg | 至少30天 |
| TCP连接数快照 | ss命令输出 | .txt | 至少15天 |
| 异常IP列表 | awk/grep统计结果 | .csv / .xlsx | 至少60天 |
日志保存的细节,直接影响证据效力
很多站长备份完日志就以为万事大吉,其实有两个坑容易踩。
日志切割和权限别忽略
Nginx默认的日志文件是单个增长的,如果站点访问量本来就大,日志文件可能好几个GB,这时候你需要把日志先切割再备份,不然复制一个几GB的文件要花很长时间,期间服务器IO被占满,反而加重业务负担。
用 logrotate 工具做切割,配置一下按天轮转,保留最近7天的日志文件,切割完成后,再把当天的日志文件复制到证据目录,注意证据目录的权限要设置为 600,只允许root用户读取,避免日志文件被误删或篡改。
远程备份一份,防本地丢失
服务器磁盘损坏、误操作格式化、高防切换过程中系统重装,这些情况都可能让本地证据文件消失,所以留证要留双份,一份在服务器本地,一份传到远程存储。
操作不复杂,在服务器上安装 rclone,配置一个对象存储或者另一台服务器的FTP账号,把 /data/evidence/ 目录下的文件同步过去,同步完成后,同样做一次MD5校验,确保远程文件和本地文件一致,这个动作花费不到十分钟,但能避免最坏情况。
接入高防线路后的证据配合动作
高防线路切换完成后,留证工作并没有结束,你还需要做两件配合动作,让证据发挥实际作用。

把攻击特征提交给高防服务商
接入高防后,你手上的日志文件、抓包数据、异常IP列表,这些都是高防服务商配置防护策略的一手素材,整理一份简洁的攻击报告,包含攻击时间段、带宽峰值、请求量TOP10的IP和UA特征,提交给服务商的运维团队,对方可以根据这些特征,在WAF规则里添加精准匹配策略,把同类刷量请求直接拦截在清洗节点,不消耗源站资源。
保留原始日志,关闭IP封禁规则
接入高防后,高防节点会替你的源站承受大部分流量,这时候建议把服务器上临时封禁的IP规则清掉,让真实用户的访问重新进来,同时保留原始日志的收集,持续观察一段时间,如果刷量流量改头换面再出现,你手里的历史证据和新日志一对比,就能快速识别出新的攻击模式。
下载站被同行刷量怎么留证,常见疑问解答
留证需要保留多久的日志才能有效投诉?
从实际操作经验看,保留至少30天的原始访问日志和攻击期间的抓包数据,如果涉及法律途径维权,建议保留6个月以上,证据的完整性比时长更重要,日志缺失关键时间段的数据,再长的保存周期也意义不大。
下载站高防线路价格高不高,留证会影响接入速度吗?
下载站高防线路价格根据防御峰值和带宽计费方式差异较大,多数情况下按防护峰值月付,具体费用取决于你选择的防护等级,留证操作不会影响接入速度,高防线路的切换通常在DNS层面完成,证据收集和线路切换可以并行操作,不需要停机等待。
服务器上没有宝塔面板,只有裸系统,怎么采集监控数据?
裸系统环境下,用 top、vmstat 和 ifstat 三个命令组合替代。top 查看CPU和负载,vmstat 记录系统整体资源使用,ifstat 查看实时网卡流量,把三个命令的输出重定向到文件,再配合 date 命令的时间戳,同样能起到监控数据留证的作用。