服务器带宽跑满溯源异常流量:服务器带宽跑满怎么办?手把手教你

为什么服务器带宽会突然跑满?

服务器带宽跑满最直接的感觉就是网站打开慢、SSH连不上、远程桌面卡顿。
背后原因可能是遭遇DDoS攻击、CC攻击、恶意爬虫,也可能是服务器自身程序异常(比如被植入挖矿程序、日志泄露被反复读取)。
不管哪种情况,第一步都是快速定位异常流量来源,然后针对性处理。

本文面向零基础用户,用最简单的方式讲清操作步骤,你只需要一台能SSH登录的服务器(或宝塔面板),以及一点耐心。

准备:先确认带宽真的被占满

在动手之前,先用最简单的命令确认带宽状态。
登录服务器后执行:

ping -c 5 baidu.com

如果丢包率很高或者时延非常大,说明网络出口确实拥堵。
也可以用top看CPU和内存是否异常,排除服务器本身性能瓶颈。

确保你已经安装了常用网络工具,如果没有,执行以下命令安装:

# CentOS / Rocky / AlmaLinux
yum install -y epel-release
yum install -y iftop nethogs vnstat

# Ubuntu / Debian
apt update && apt install -y iftop nethogs vnstat

宝塔用户可以在软件商店搜索“宝塔运维工具”,里面集成了流量监控插件,但更推荐命令行工具,因为定位更精准。

核心操作:两步定位异常流量

第一步:用 iftop 查看实时带宽占用

iftop -i eth0 -P

说明:

  • -i eth0 换成你的网卡名(可以用ip a查看,常见eth0、ens3、ens33)
  • -P 显示端口号,方便判断是哪个服务在占用流量

执行后你会看到一个实时列表,最顶行是总流量,下面每一行是一对IP的通信情况。
重点关注发送(TX)和接收(RX)都很大的IP,尤其是陌生IP。
n 可以切换域名/IP显示,按 q 退出。

如果发现有个IP在疯狂发数据给服务器的非标准端口(比如12345),多半是挖矿或后门。 记下这个IP和端口。

第二步:用 nethogs 定位具体进程

iftop只能看到IP和端口,看不到是哪个程序在跑流量。
这时用nethogs

nethogs eth0

显示结果类似:

PID   USER     PROGRAM                        SENT        RECEIVED
12345 root     /usr/bin/.systemd-network      2.1 MB      0.1 MB

注意隐藏进程:很多恶意程序会伪装成系统进程名(如.systemd-network),PID 和进程路径都要检查。
记下异常PID和路径,后续处理。

如果找不到明显进程,说明流量可能是网络层攻击(如SYN Flood),需要用vnstat看历史流量趋势,配合防火墙日志分析。

进阶:查看防火墙连接统计

# 查看当前所有连接,按数量排序
tcpdump -i eth0 -nn port not 22 | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -rn | head -20

这个命令会列出与服务器通信最多的IP,如果某个IP的连接数远超其他,很可能就是攻击源。

高频问题解答

Q1:iftop 或 nethogs 显示0流量,但带宽确实跑满,怎么回事?
A:可能是网卡名称不对,或者流量绕过监控(例如使用原始套接字)。改用bmonntopng试试,或者直接检查交换机端口流量。

Q2:发现是阿里云/腾讯云的内网IP在跑流量,需要处理吗?
A:内网IP比如10.x.x.x、172.x.x.x、192.168.x.x通常是同机房其他机器,如果你没有跨机器通信的需求,可以忽略;但如果流量异常大,可能是被攻击者利用作为跳板,建议联系云服务商排查。

Q3:找到了恶意IP,应该怎么封掉?
A:使用防火墙临时封禁:

# iptables(CentOS 7及以下)
iptables -A INPUT -s 恶意IP -j DROP
# firewalld(CentOS 7+)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="恶意IP" drop'
firewall-cmd --reload
# ufw(Ubuntu/Debian)
ufw deny from 恶意IP

宝塔用户可以在“安全” -> “防火墙”中添加IP规则。

Q4:进程是恶意程序,怎么清除?
A:先kill进程(kill -9 PID),然后找到对应的自启项:

systemctl list-units --type=service | grep 可疑名字

检查crontab(crontab -l)和开机脚本(/etc/rc.local),删除相关条目。
最后删除恶意文件。

避坑指南:这些操作千万别做

  1. 不要直接重启服务器:重启后流量仍然会回来,因为恶意程序可能写入crontab或systemd服务,重启后又复活。必须先清除后门。
  2. 不要盲目封禁整个IP段:如果攻击IP是CDN节点(如Cloudflare的IP段),封掉会导致网站无法访问。做封禁操作前先查IP归属。
  3. 不要忽略主机内安全:有时候带宽跑满是因为服务器被入侵后变为肉鸡,向外发动攻击。除了溯源外,还要检查SSH日志(/var/log/auth.log)、修改弱密码、关闭不必要的端口。
  4. 不要只靠面板流量图:宝塔面板和云厂商控制台的流量监控是分钟级甚至5分钟级,无法实时看到哪个IP在跑流量。必须用命令行实时工具。

效果验证:确保问题真的解决

操作完成后,等待2-3分钟,重新用iftop观察流量情况:

iftop -i eth0 -P -t -s 10

如果总流量恢复到正常水平(比如之前是100Mbps,现在变成5Mbps),并且没有异常IP再出现,说明清理成功。

再测试网站访问:

curl -I 你的网站域名

响应正常,不再超时即可。

如果你是云服务器,建议在云平台安全组中启用流量清洗(如阿里云DDoS高防、腾讯云大禹),作为长期防护手段。

写在最后

服务器带宽跑满并不一定是攻击,也可能是正常业务突然暴涨。
但不管原因是什么,按照本文的iftop + nethogs两步法,先定位IP再定位进程,就能快速揪出异常流量。
遇到异常时优先回看避坑和高频问题部分,避免误操作。
只要动手试一次,下次遇到类似问题你也能从容应对。

分享到:
上一篇
服务器磁盘空间占满排查清理手册:从入门到实操
下一篇
服务器频繁宕机故障排查修复:零基础手把手教程
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意