iftop 是用于实时监控 linux 网络流量的命令行工具,可显示每个连接的带宽使用情况。1. 它基于 libpcap 库捕获数据包,类似于 top 命令监控 cpu 使用率;2. 支持通过包管理器安装,如 apt、yum、dnf 或 homebrew;3. 运行时需 root 权限,默认监听第一个网络接口,也可通过 -i 指定;4. 可用参数包括 -n 显示端口号、-n 不解析服务名;5. 界面展示活跃连接及其发送、接收和总流量,并提供快捷键操作;6. 适用于排查异常流量、调试网络应用及配合其他工具分析。
查看 linux 网络流量统计,iftop 是一个非常实用的实时监控工具。它能让你清楚地看到当前服务器上的网络连接和带宽使用情况,尤其适合排查异常流量、定位高带宽消耗来源。
什么是 iftop?
iftop 是一个基于命令行的实时流量监控工具,可以显示每个连接的带宽使用情况,类似于 top 命令对 CPU 使用率的监控。它依赖于 libpcap 库来捕获网络数据包,并以直观的方式展示出来。
使用 iftop 可以:
- 实时查看哪些 IP 正在通信
- 监控端口级别的流量
- 快速发现异常连接或带宽占用高的连接
如何安装 iftop?
大多数 Linux 发行版都支持通过包管理器安装 iftop。以下是几种常见系统的安装方式:
-
sudo apt update && sudo apt install iftop
-
centos/RHEL:
sudo yum install iftop
或者(如果使用 dnf):
sudo dnf install iftop
-
macos(Homebrew):
brew install iftop
安装完成后,输入 iftop 即可运行,默认会监听第一个网络接口(比如 eth0 或 en0)。
如何使用 iftop 查看流量?
运行 iftop 非常简单,但有几个常用参数和技巧可以让信息更清晰:
基本用法:
sudo iftop
注意:需要 root 权限才能捕获网络流量。
指定网络接口:
如果你有多个网卡,可以通过 -i 参数指定要监控的接口,例如:
sudo iftop -i eth1
显示端口号和服务名:
默认情况下,iftop 会将端口号转换为服务名称(如 http、ssh)。如果你希望直接看到数字端口,加上 -n 参数:
sudo iftop -n
不进行 DNS 解析:
为了加快显示速度,避免 DNS 查询,可以加上 -N 和 -n:
sudo iftop -nN
iftop 界面怎么看?
进入 iftop 后,界面分为几个部分:
- 最上面是流量刻度条,表示当前带宽大小。
- 中间列出的是当前活跃的连接,格式类似:
192.168.1.100 => 8.8.8.8 100KB 50KB 75KB
分别代表发送、接收和总流量。
- 底部三列分别是峰值、速率、总流量
你可以在运行时按以下快捷键操作:
- h:帮助说明
- n:切换是否解析主机名
- s:切换是否显示本机服务(即本机作为源)
- d:切换是否显示目标地址
- q:退出程序
一些使用场景建议
- 排查异常流量:如果你发现服务器带宽被占满,运行 iftop 可以快速定位是哪个 IP 或端口在大量传输数据。
- 调试网络应用:当你部署了一个新服务,想确认是否有客户端连接并产生流量,iftop 能帮你实时观察。
- 配合其他工具使用:比如结合 tcpdump 抓包分析具体连接内容,或者使用 nload 查看整体带宽趋势。
基本上就这些。iftop 虽然是个老工具,但功能稳定、轻量高效,特别适合快速诊断网络问题。掌握基本操作后,日常运维中会经常用到。