






















先讲一个老笑话。
年轻牧师去外地教堂借宿,总觉得老牧师和修女有点不对劲。走后老牧师给他写信:
我有一把很漂亮的银汤匙,但自从你走后就找不到了。我不是说一定是你偷的,但事实是你走后它就没了。
年轻牧师回信:
我不是说你和修女睡在一起,但如果你睡在自己的床上,你早就找到汤匙了。
我这次排查阿里云 ECS 流量,也有点这个味道。
我不是说谁偷了我的银汤匙。
但我确实得自己回床上找。
我的 ECS 是按公网流量计费,一年大概 500 块钱的低配机器,不是什么大业务。正常情况下,公网流量一个月也就十来块钱的量级。
但最近一两个月很神奇:阿里云开始密集提醒我,几乎每天都有电话和短信进来,其中还有人工电话。
这就让我很困惑。
我一个一年 500 块的破 ECS ,流量一个月十来块钱的主儿,你天天给我打电话、发短信,找我干甚?
于是我去看账单,发现确实不太对:
2026-05:
流出流量 89.7 GB
费用 71.78 元
2026-06 排查时:
流出流量约 33.4 GB
费用约 26.7 元
阿里云这边先说清楚:账单本身是透明的,公网流量用了多少、多少钱,都能查。后来我问 HBR 云备份的问题,人工工单也给了解释,这点没问题。
问题是:账单告诉你钱花了,但不一定告诉你钱具体怎么花掉的。
于是我开始查本机。
先看 sar,发现封禁前 eth0 出流量有一个很高的持续基线:
200 - 400 Kbit/s
对这个站来说不正常。
然后翻 nginx access log ,发现一批 IP 很规律地拉静态资源:
/assets/*/jquery.js
/assets/*/bootstrap.css
/assets/*/bootstrap.js
/assets/*/yii.js
/css/site.css
特征也很一致:
空 Referer
老 Chrome UA
反复拉静态资源
行为克制、规律
主要集中在这些网段:
221.229.173.0/24
221.229.197.0/24
221.229.202.0/24
221.229.210.0/24
这种请求不一定会打爆机器,但对按流量计费的 ECS 很有效:你回多少静态文件,就产生多少公网出流量。
我先用 iptables 封掉这些网段。效果立刻出来了:
封禁前:
200 - 400 Kbit/s
封禁后:
30 - 50 Kbit/s
继续观察后:
1.5 - 4 KB/s
后来按新基线粗算:
约 6 GB / 月
约 5 元 / 月
也就是从 70 多元/月的量级,回到个位数或十元以内的量级。
后面我又写了个小脚本,每 10 分钟跑一次,看 nginx 日志,自动封类似行为:
大量拉 /assets/
空 Referer
旧 Chrome UA
探测 /.git 、/.env
借 /site/login?r=... 探测资源
为了避免误伤,只自动封单个 IP ,不自动封整个 /24。
脚本上线后,又抓到一些典型 IP:
23.19.44.232
通过 /site/login?r=... 探测 .git/assets
64.89.163.50
连续请求 /.env
之后再看 nginx ,静态资源滥拉基本没了,剩下就是一些低频互联网噪声,比如 robots.txt、/.git/config、/.env、wp 插件路径扫描。
还有一个插曲:每天凌晨 2 点左右有上行峰值。查下来是阿里云 HBR / Cloud Backup 。它是本机常驻客户端等云端下发备份任务,不是 cron 。账单里 HBR 当前是 0 元,人工工单也解释了,这部分不是主要费用来源。
这次真正麻烦的地方不是“封 IP”本身,而是把这些东西串起来:
账单
sar
nginx access log
iptables
cron
HBR 日志
阿里云账单 API
说实话,如果没有 Codex / AI / Agent 在旁边一起查,这事对非专业运维非常不友好。
就算是专业运维来搞,也要掉不少头发。
省下来的几十块钱,可能还不够买米诺地尔。
最后总结一下:
账单是透明的。
HBR 工单解释也是正常的。
但流量来源不透明,排查成本很高。
我的解决方式很土:
看日志,找规律,封 IP ,写脚本,继续观察。
结果是:
出流量基线大概降了一个数量级。
还是那个笑话:
我不是说谁偷了我的银汤匙。
但我睡回自己的床上以后,确实把汤匙找到了。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。