跳到主要内容

Linux iftop 命令教程:实时监控网络流量 🌐

iftop 是一个用于实时监控网络流量的命令行工具。它可以帮助你查看哪些进程或主机正在占用你的网络带宽。与 top 类似,iftop 提供了一个动态、实时的界面,展示网络流量的实时统计数据。通过 iftop,你可以轻松识别网络中的流量瓶颈或异常行为,帮助你优化网络资源的使用。📈

1. 简介

iftop 用于显示实时的网络流量信息,包括每个连接的传输速率、IP 地址、端口以及带宽使用情况。与 netstat 等工具相比,iftop 提供了更加直观的实时图形界面,适合用于网络流量分析和故障排除。💻

iotop 一样,画面太古老了。你可以通过 sudo apt install iftop 安装它。

iftop 的基本语法

sudo iftop [选项]

注意:iftop 需要 root 权限来监控网络流量,因此通常需要使用 sudo

2. 常见操作概览 📋

操作命令格式说明
启动 iftopsudo iftop启动 iftop 命令,实时显示网络流量统计信息。
显示特定网络接口的流量sudo iftop -i <网络接口>监控特定网络接口(例如 eth0wlan0)的流量。
查看显示的流量单位sudo iftop -B使用字节为单位显示流量(默认是以比特为单位)。
按连接排序sudo iftop -o <字段>根据指定字段对连接进行排序(如按带宽使用量排序)。
使用批处理模式输出流量统计sudo iftop -t将输出流量信息以文本格式保存到文件中。
设置刷新间隔sudo iftop -d <秒数>设置刷新间隔时间(单位:秒)。
显示所有接口的流量sudo iftop -a显示所有网络接口的流量统计。

3. 命令示例 ⚡

3.1 启动 iftop

最基本的命令格式是直接运行 iftop

sudo iftop

此命令会显示实时更新的网络流量信息,包括当前正在进行的所有网络连接、传输速率、带宽使用情况等。

3.2 显示特定网络接口的流量

如果你有多个网络接口,且只关心某个特定接口的流量,可以使用 -i 选项来指定接口:

sudo iftop -i eth0

此命令会只显示 eth0 网络接口的流量信息。如果你想查看无线网卡的流量,可以使用 wlan0

3.3 按连接排序

你可以使用 -o 选项来指定按照某一列对网络连接进行排序。例如,如果你想根据带宽使用量来排序,可以使用:

sudo iftop -o bytes

这样会将网络连接按字节数排序,从而方便查看哪个连接占用了最多的带宽。

3.4 使用字节为单位显示流量

默认情况下,iftop 会以比特为单位显示流量。你可以使用 -B 选项将单位切换为字节:

sudo iftop -B

这会将所有流量的单位显示为字节,而非比特。

3.5 启用批处理模式

如果你想将 iftop 的输出保存为文本文件,可以使用批处理模式 -t 选项:

sudo iftop -t > iftop_output.txt

此命令会将流量统计数据保存到 iftop_output.txt 文件中,适用于进一步的分析。

3.6 设置刷新间隔

你可以设置显示的刷新间隔时间,默认是 2 秒。要设置为更短的时间,例如 1 秒,可以使用 -d 选项:

sudo iftop -d 1

这会将刷新间隔设置为 1 秒。

3.7 显示所有接口的流量

如果你希望查看所有网络接口的流量,可以使用 -a 选项:

sudo iftop -a

这会显示系统中所有网络接口的流量统计信息。

4. 常用选项 📝

  • -i <接口>:指定监控的网络接口(如 eth0wlan0)。
  • -B:使用字节为单位显示流量(默认是比特)。
  • -o <字段>:根据指定的字段对连接进行排序,例如按字节数 bytes 或带宽 bandwidth 排序。
  • -t:启用批处理模式,将输出保存到文本文件中。
  • -d <秒数>:设置刷新间隔(单位:秒)。
  • -a:显示所有网络接口的流量。
  • -h:显示帮助信息。
-h帮助信息

iftop是一个用于在网络接口上显示按主机分类的带宽使用情况的工具。

用法iftop -h | [-npblNBP] [-i interface] [-f filter code] [-F net/mask] [-G net6/mask6]

选项:

  • -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的文本界面。(-t 选项可以让 iftop 使用不依赖 ncurses 的文本界面。通常,ncurses 库用于创建具有窗口调整、颜色和键盘输入等高级功能的文本界面。使用 -t 后,iftop 将以纯文本格式显示信息,这在一些不支持 ncurses 的环境中(如最小化安装、远程会话或在非交互式脚本中运行)会很有用。)

排序选项:

  • -o 2s:按第一列(2秒平均流量)排序。
  • -o 10s:按第二列(10秒平均流量)排序 [默认]。
  • -o 40s:按第三列(40秒平均流量)排序。
  • -o source:按源地址排序。
  • -o destination:按目标地址排序。

以下选项仅在与-t选项结合使用时可用:

  • -s num:在指定秒数后打印一次文本输出,然后退出。
  • -L num:打印的行数。

iftop,版本 1.0pre4

5. 小贴士 💡

  • top 类似iftop 的工作方式类似于 top 命令,但它专注于网络流量。这使得你可以实时查看系统中哪些进程或连接正在消耗带宽。
  • 需要 root 权限iftop 需要 root 权限才能获取网络流量的详细信息。使用 sudo 运行时,系统会要求提供管理员权限。
  • 适用于实时监控iftop 是一个实时监控工具,适用于故障排除和性能分析,尤其是在网络带宽出现瓶颈或异常时。

6. 总结 🎯

iftop 是一个强大的命令行工具,帮助你实时监控 Linux 系统中的网络流量。通过 iftop,你可以轻松查看每个网络连接的带宽使用情况,并根据需要进行故障排除或性能优化。它适用于网络管理员、系统管理员和开发人员,让你更高效地管理和调优网络资源。⚙️

希望这篇教程帮助你掌握如何使用 iftop!别忘了收藏在线知识库www.zxzsk.com )哦!😊


通过本教程,你了解了如何使用 iftop 监控网络流量,并掌握了常用选项和技巧,帮助你在日常的网络管理中更加得心应手。