Linux 使用 iftop 命令显示主机网络接口的带宽使用情况
iftop 命令监听指定网络接口上的网络流量,或者在第一个接口上(如果未指定)查找哪个接口看起来像外部接口,并显示主机对的当前带宽使用情况表。 iftop 是通过基于 ssh 的会话远程 Linux 服务器的完美工具。让我们看看如何使用 Linux 上的 iftop 命令按主机显示接口上的带宽使用情况。
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 不 |
要求 | Linux 或 Unix 终端 |
类别 | 包管理器 |
操作系统兼容性 | AIX • Alma • Alpine • Arch • BSD • Debian • Fedora • FreeBSD • HP-UX • Linux • macOS • Mint • NetBSD • OpenBSD • openSUSE • Pop!_OS • RHEL • Rocky • Stream • SUSE • Ubuntu • Unix • WSL |
预计阅读时间 | 4 分钟 |
安装
根据您的 Linux 发行版输入命令:
在 Debian/Ubuntu Linux 上安装 iftop
输入以下apt-get 命令/ apt 命令:
$ sudo apt-get install iftop
[sudo] password for vivek: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: iftop 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. Need to get 36.3 kB of archives. After this operation, 95.2 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu focal/universe amd64 iftop amd64 1.0~pre4-6build1 [36.3 kB] Fetched 36.3 kB in 1s (33.7 kB/s) Selecting previously unselected package iftop. (Reading database ... 294836 files and directories currently installed.) Preparing to unpack .../iftop_1.0~pre4-6build1_amd64.deb ... Unpacking iftop (1.0~pre4-6build1) ... Setting up iftop (1.0~pre4-6build1) ... Processing triggers for man-db (2.9.1-1) ...
关于 CentOS/Fedora/RHEL/Scientific/Oracle/Alma/Rocky Linux 用户的说明
输入以下yum 命令(首先打开 EPEL repo):
$ sudo yum install iftop
Fedora Linux 用户输入以下 dnf 命令:
$ sudo dnf install iftop
查看如何在基于 CentOS/RHEL 的服务器上安装 iftop 以获取更多信息。
Arch Linux 安装 iftop
输入以下 pacman 命令:
$ sudo pacman -S iftop
在 Alpine Linux 上安装 iftop
输入以下apk 命令:
# apk add iftop
在 Suse/OpenSuse Linux 上获取 iftop
键入以下 zypper 命令:
# zypper install iftop
关于在类 Unix 系统上安装 iftop 的说明
您也可以在类 Unix 系统(如 FreeBSD、OpenBSD、MacOS 等)上安装 iftop。本页面仅涉及 Linux 操作系统。例如,在 FreeBSD 上,可以使用以下 pkg 命令安装 iftop:
# pkg install iftop
在 macOS Unix 上,可以使用 brew 命令安装它。因此,首先在 macOS 上安装 Homebrew,然后输入以下 brew 命令:
$ brew install iftop
示例
语法是:
在 shell 提示符下键入 iftop 命令来显示流量:
示例输出:
iftop
iftop -i interface
iftop [options]
# iftop
iftop 运行情况(点击放大图片)
# iftop -i eth0
示例输出:
动图 01:iftop 命令运行情况
# iftop -f icmp
您可以显示或分析进出 192.168.1.0/24 网络的数据包:
# iftop -F 192.168.1.0/24
使用过滤器代码禁用 DNS 流量输出,例如:
# iftop -f 'not port domain'
结论
好了,您已经学会了如何按主机显示接口上的带宽使用情况。 iftop 有许多选项,请阅读手册页以获取更多信息,使用 man 命令查看其手册页或访问此页面项目主页:
$ man iftop
$ iftop -h
iftop 命令行选项
选项 | 描述 |
---|---|
-h | 显示此消息 |
-n | 不要进行主机名查找 |
-N | 不要将端口号转换为服务 |
-p | 以混杂模式运行(显示同一网段上其他主机之间的流量) |
-b | 不显示流量条形图 |
-B | 以字节为单位显示带宽 |
-i interface | 监听命名接口 |
-f filter code | 使用过滤代码来选择要计数的数据包(默认值:无,但只计算 IP 数据包) |
-F net/mask | 显示流入/流出 IPv4 网络的流量 |
-G net6/mask6 | 显示流入/流出 IPv6 网络的流量 |
-l | 显示并计算链路本地 IPv6 流量(默认:关闭) |
-P | 显示端口和主机 |
-m limit | 设置带宽比例的上限 |
-c config file | 指定备用配置文件 |
-t | 使用没有 ncurses 的文本界面 |
-o 2s | 按第一列排序(2 秒流量平均值) |
-o 10s | 按第二列排序(10秒流量平均值)[默认] |
-o 40s | 按第三列排序(40 秒流量平均值) |
-o source | 按源地址排序 |
-o destination | 按目的地址排序 |
-s num | 在 num 秒后打印一个文本输出,然后退出 |
-L num | 打印行数 |
参见:
- 记录 ADSL 或专用远程 Linux 设备的每日网络流量
- Linux 和 Unix nload 应用程序:实时监控网络流量和带宽使用情况
- CentOS / RHEL:安装 vnStat 网络流量监视器以记录每日流量
- CentOS / RHEL:使用 PHP Web 界面前端查看 Vnstat 图表
- slurm—一个易于使用的Linux和类Unix系统网络负载监视器。
- 如何了解 Linux CPU 利用率和使用情况?
- Linux 检查磁盘空间命令来查看系统磁盘使用情况
- 如何检查 Linux 中的内存利用率
- 每个系统管理员都应该知道的 30 个 Linux 系统监控工具
- 检查 Linux 中的交换使用大小和利用率
- 如何找出 Linux 磁盘利用率?
- 排名前 7 位的 Linux GPU 监控和诊断命令行工具
- 如何找出 Linux 资源利用率来检测系统瓶颈?
- Linux 使用 Nethogs 工具查看每个进程的带宽使用情况
- 总结 Linux/Unix 上给定命令的详细系统资源使用情况
- 如何将 Linux 系统利用率数据收集到文件中
- Linux 显示主机网络接口的带宽使用情况
- Ubuntu 安装 vnstat 控制台网络流量监视器
- Linux 分别查找多个 SMP CPU 处理器的利用率