iftop流量分析定位异常爬虫带宽占用

服务器突然卡顿、网站响应变慢,十有八九是带宽被某些“不守规矩”的爬虫占满了。
对于刚接触服务器运维的新手来说,不用马上研究复杂的抓包工具,iftop 就是一个轻量又直观的流量监控利器。
它能按IP实时展示出入带宽,一眼就能看出哪个IP在“吃带宽”。
本文带你在Linux服务器上完成从安装到定位再到拦截的全流程。

一、确认环境并安装iftop

iftop 依赖 libpcap,多数Linux发行版的官方源都收录了它。
登录服务器后,根据系统选择一条安装命令:

  • CentOS / Rocky Linux / Alibaba Cloud Linux:
  sudo yum install -y epel-release
  sudo yum install -y iftop
  • Ubuntu / Debian:
  sudo apt update
  sudo apt install -y iftop

安装完成后执行 iftop -h 能看到帮助信息,就说明环境准备好了。

二、启动流量监控并解读输出结果

一般服务器有多个网卡,先通过 ip addr 或 ifconfig 查看主要网卡名称(通常为 eth0 或 ens3)。
启动 iftop 并指定该网卡:

sudo iftop -i eth0 -n -N

参数说明:

  • -i eth0:监控 eth0 网卡。
  • -n:不解析域名,直接显示 IP,避免 DNS 拖慢显示。
  • -N:不解析端口服务名,直接显示端口号。

启动后你会看到一个实时刷新的界面(可能默认单位是 bit,稍后说明)。
分为三块:

  1. 顶部:两行显示 TX(发送) 和 RX(接收) 的瞬时、平均、峰值速率。
  2. 中间列表:每个连接一行,左侧是本地IP:端口,右侧是远端IP:端口,中间是最近2秒、10秒、40秒的平均速率。
  3. 底部:总计流量。

注意:默认速率单位是 bit,不是 Byte。
可以按 B 键(大写)切换为 Byte,按 b 键(小写)回到 bit。
对于定位爬虫,我建议用 Byte 更直观——1MB/s 约等于 8Mbps。

三、锁定占用带宽的异常IP

场景:你发现服务器带宽持续跑满,网站响应极慢。
在 iftop 界面中,观察接收(RX)方向的远端 IP 列表,排序默认按速率降序,最上面的 IP 就是当前流量最大的“嫌疑犯”。

如果看到某个 IP 的 RX 速率长期明显高于其他连接(比如其他 IP 才几十KB/s,它却几MB/s),那它很可能是异常爬虫。

由于 iftop 默认显示所有连接,你可以按 t 键切换显示模式,进入“只显示发送”“只显示接收”或“两边都显示”,方便聚焦。
另外按 p 键可以暂停刷新,方便仔细看当前的 IP 列表。

记录下可疑的 IP 地址,比如 203.0.113.5。

四、排查与限制异常爬虫

拿到可疑 IP 后,先别急着封,确认一下是不是自己业务需要的源(比如 CDN 回源、API 合作伙伴)。
可以通过以下方式进一步排查:

# 查看该 IP 正在访问的 URL(需要 nginx 日志配合)
sudo tail -f /var/log/nginx/access.log | grep '203.0.113.5'

如果日志显示该 IP 在频繁请求无关页面、访问间隔极短、User-Agent 像爬虫(如 python-requests、Scrapy),基本可以确认是异常爬虫。

临时封禁方式(iPtables):

# 封禁单个 IP(注意替换为实际 IP)
sudo iptables -I INPUT -s 203.0.113.5 -j DROP

封完后,iftop 界面中该 IP 的流量应迅速降为 0,整体带宽恢复正常。
如果需要解封,执行:

sudo iptables -D INPUT -s 203.0.113.5 -j DROP

如果用的是宝塔面板,可以直接在安全 > IP 规则中添加黑名单,效果相同。

五、常见问题与排错

问题1:iftop 报错 “interface eth0 does not exist”
答:网卡名称不对。用 ip link show 查看真实名称,比如 ens33,把 -i eth0 改成 -i ens33。

问题2:为什么界面上显示的单位是 Kb、Mb 而不是 KB、MB?
答:iftop 默认使用 bit。按 B 键(大写)可切换为 Byte。如果你习惯看字节,建议每次启动都带参数 -B 让单位为字节。

问题3:iftop 只显示本地连接,没有显示所有远程 IP?
答:按 T 键(大写)可以在“仅显示本地”“仅显示远程”“显示所有”之间切换。确保显示模式为“显示所有”(屏幕上方会有提示)。

问题4:封禁 IP 后流量仍然没降?
答:可能带宽占用来自其他未封的 IP,或者爬虫使用了多个 IP。继续观察 iftop 列表,重复定位-封禁步骤。如果疑似 DDOS,建议接入 WAF 或使用云厂商的流量清洗。

---

总结:iftop 是排查带宽飙升最趁手的工具之一。
你只需要学会启动、看速率、找最大 IP,就能快速定位异常爬虫。
后续再配合日志和封禁手段即可解决问题。
如果你在处理过程中遇到其他现象,建议回头再核对 iftop 的显示模式与单位,大部分排错都能覆盖。

分享到:
上一篇
本地Ollama对接外贸独立站AI选品接口实战教程
下一篇
分表分库优化海量跨境商品数据库:海量跨境商品数据库分表分库优
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意