Linux服务器被蹭流量了?5分钟用iftop命令揪出‘内鬼’与异常连接
2026/6/2 9:05:37 网站建设 项目流程

Linux服务器流量异常?用iftop快速定位可疑连接的5个实战技巧

突然发现云服务器账单中的流量费用比平时高出一大截?服务器响应变慢却找不到原因?这可能是你的Linux服务器正在被"蹭流量"。作为运维人员,最头疼的就是这种看不见摸不着的问题——既不知道谁在占用带宽,也不清楚是正常业务还是恶意行为。本文将教你如何用iftop这个"流量显微镜",在5分钟内快速揪出异常连接。

1. 为什么iftop是排查流量异常的首选工具

当服务器出现异常流量时,传统工具如netstatss只能显示连接状态,无法直观反映实时流量大小;nethogs虽然能按进程统计流量,但缺乏IP级别的分析能力。iftop恰好填补了这个空白——它能以直观的界面显示每个连接的实时流量,并按流量大小排序,让你一眼就能发现"流量大户"。

iftop的核心优势在于:

  • 实时可视化:动态显示每个连接的带宽占用,类似top命令的交互式界面
  • 双向流量分析:区分上传(TX)和下载(RX),帮助判断是服务器主动外连还是被外部攻击
  • 精准定位:支持按IP、端口、网段过滤,快速锁定可疑目标
  • 零配置使用:大多数Linux发行版可直接安装,无需复杂配置

提示:iftop默认需要root权限运行,因为它需要访问原始网络数据包。使用时请确保使用sudo或root账户。

2. 快速安装与基础使用

在主流Linux发行版上,iftop的安装非常简单:

# Debian/Ubuntu sudo apt install iftop -y # RHEL/CentOS sudo yum install iftop -y # Arch Linux sudo pacman -S iftop

安装完成后,直接运行sudo iftop即可启动基础监控界面。但这样得到的信息可能过于杂乱,建议首次使用时添加几个关键参数:

sudo iftop -nNP
  • -n:禁用DNS反向解析,避免等待域名查询
  • -N:禁用端口服务名转换,直接显示端口号
  • -P:显示端口信息,这对后续分析至关重要

典型iftop界面分为三个部分:

  1. 顶部刻度条:显示当前带宽使用比例
  2. 中部连接列表:每行显示一个活跃连接及其流量统计
    • =>表示出站流量(服务器主动外连)
    • <=表示入站流量(外部连接服务器)
  3. 底部统计区:汇总TX(发送)、RX(接收)、TOTAL(总量)等数据

3. 高级排查技巧:5步锁定异常连接

3.1 第一步:按流量排序找出"大户"

启动iftop后,默认已经按流量排序。但你可以通过快捷键进一步优化显示:

  • 1/2/3:分别按2秒、10秒、40秒平均流量排序
  • o:冻结当前排序,防止自动刷新打乱观察
  • T:切换显示累计流量,有助于发现长期占用带宽的连接

如果发现某个IP的流量持续位居前列,特别是与未知地址的通信,就需要重点关注。

3.2 第二步:过滤特定IP或端口

当服务器连接数较多时,可以使用过滤功能聚焦关键目标:

  1. l键进入过滤模式
  2. 输入IP地址或端口号(如192.168.1.100:443
  3. 回车确认,界面将只显示匹配的连接

示例:只查看与1.2.3.4这个IP的通信

sudo iftop -nNP -f "host 1.2.3.4"

3.3 第三步:分析流量方向判断风险

观察流量方向箭头能初步判断风险类型:

流量模式可能原因应对措施
大量=>出站流量服务器可能被植入挖矿程序检查相关进程和cron任务
大量<=入站流量可能遭受CC攻击或端口扫描检查防火墙和Web服务器日志
双向高流量可能被用作代理或跳板检查SSH等服务的认证日志

3.4 第四步:关联进程分析

发现可疑IP后,需要定位到具体进程。可以使用lsofnetstat进一步分析:

# 查找与特定IP通信的进程 sudo lsof -i @1.2.3.4 # 或使用netstat sudo netstat -tulnp | grep 1.2.3.4

3.5 第五步:生成报告留存证据

对于需要长期监控或留存证据的场景,可以用-t参数生成文本报告:

sudo iftop -nNP -t -s 60 > traffic_report.txt

这会将60秒内的流量统计输出到文件,包含所有连接的IP、端口和流量数据。

4. 实战案例:快速定位挖矿病毒

某次服务器出现CPU和带宽同时飙升的情况。通过iftop快速排查:

  1. 运行sudo iftop -nNP发现大量到xmr.pool.domain的连接
  2. 确认是出站流量(=>),且持续占用高带宽
  3. 使用lsof -i @xmr.pool.domain找到相关进程
  4. 定位到是/var/tmp/.hidden/下的可疑二进制文件
  5. 最终确认是门罗币挖矿病毒,清理后恢复正常

整个过程用时不到5分钟,关键就是iftop快速锁定了异常外连的IP和端口。

5. 日常监控与防护建议

除了应急排查,建议将iftop纳入日常监控体系:

  • 定期快照:使用cron定时运行iftop并保存结果
# 每天8点和20点各运行一次,保存最近7天的记录 0 8,20 * * * root /usr/sbin/iftop -nNP -t -s 300 > /var/log/iftop/$(date +\%Y\%m\%d-\%H\%M).log find /var/log/iftop/ -type f -mtime +7 -delete
  • 异常报警:结合脚本分析iftop日志,发现异常流量时触发报警
  • 防护措施
    • 限制非必要的外连(出站防火墙规则)
    • 定期更新系统和软件补丁
    • 使用fail2ban等工具防止暴力破解
    • 对敏感服务启用双因素认证

iftop虽然强大,但它只是安全工具链中的一环。真正的安全需要从架构设计、权限管理、监控预警等多个层面构建纵深防御体系。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询