Linux iftop 命令实用示例

LinuxBeginner
立即练习

介绍

在本实验中,我们将探索 iftop 命令,这是 Linux 中一个强大的网络监控工具。iftop 提供了网络流量的实时分析,让你能够观察系统的带宽使用情况。我们将从安装 iftop 包开始,然后演示如何使用它来监控网络流量。此外,我们还将介绍 iftop 命令的高级使用场景。

本实验分为三个主要步骤:

  1. iftop 命令简介
  2. 使用 iftop 监控网络流量
  3. iftop 高级使用场景

本实验旨在帮助你理解并有效利用 iftop 命令,在 Linux 环境中进行网络监控和故障排除。

Linux 命令速查表

iftop 命令简介

在这一步骤中,我们将介绍 iftop 命令,这是 Linux 中一个强大的网络监控工具。iftop 提供了网络流量的实时分析,让你能够观察系统的带宽使用情况。

首先,让我们安装 iftop 包:

sudo apt-get update
sudo apt-get install -y iftop

示例输出:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfprint-2-tod1
Use 'sudo apt autoremove' to remove it.
The following NEW packages will be installed:
  iftop
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 59.5 kB of archives.
After this operation, 188 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 iftop amd64 1.0~pre4-5 [59.5 kB]
Fetched 59.5 kB in 0s (0 B/s)
Selecting previously unselected package iftop.
(Reading database ... 123594 files and directories currently installed.)
Preparing to unpack .../iftop_1.0~pre4-5_amd64.deb ...
Unpacking iftop (1.0~pre4-5) ...
Setting up iftop (1.0~pre4-5) ...
Processing triggers for man-db (2.10.2-1) ...

现在,让我们运行 iftop 命令:

sudo iftop

示例输出:

@@@@ IFTOP 1.0~pre4 @@@@
 192.168.1.100 : 192.168.1.101
                 192.168.1.102
                 192.168.1.103
                 192.168.1.104
                 192.168.1.105
                 192.168.1.106
                 192.168.1.107
                 192.168.1.108
                 192.168.1.109
                 192.168.1.110

            In:  0.00 Kb/s   0.00 Kb/s   0.00 Kb/s
           Out:  0.00 Kb/s   0.00 Kb/s   0.00 Kb/s
         Total:  0.00 Kb/s   0.00 Kb/s   0.00 Kb/s

iftop 命令会显示系统当前的网络流量,展示每个连接的带宽使用情况。输出内容包括源 IP 地址和目标 IP 地址,以及传入、传出和总带宽使用情况。

使用 iftop 监控网络流量

在这一步骤中,我们将学习如何使用 iftop 命令来监控系统的网络流量。

首先,让我们以交互模式启动 iftop 命令:

sudo iftop

这将显示系统实时的网络流量。输出内容包括源 IP 地址和目标 IP 地址,以及传入、传出和总带宽使用情况。

为了更好地理解输出内容,让我们逐一查看各个部分:

  • 顶部部分:显示参与网络流量的主机名或 IP 地址。
  • "In:" 部分:显示每个连接的传入带宽。
  • "Out:" 部分:显示每个连接的传出带宽。
  • "Total:" 部分:显示所有连接的总带宽使用情况。

你可以使用以下按键与 iftop 命令进行交互:

  • p:暂停显示
  • t:切换时间显示模式(累计或间隔)
  • n:切换显示主机名或 IP 地址
  • i:循环切换网络接口
  • m:循环切换显示模式(带宽、数据包或比特)
  • s:按源地址排序显示
  • d:按目标地址排序显示
  • r:反转排序顺序
  • q:退出 iftop 命令

示例输出:

@@@@ IFTOP 1.0~pre4 @@@@
 192.168.1.100 : 192.168.1.101
                 192.168.1.102
                 192.168.1.103
                 192.168.1.104
                 192.168.1.105
                 192.168.1.106
                 192.168.1.107
                 192.168.1.108
                 192.168.1.109
                 192.168.1.110

            In:  0.00 Kb/s   0.00 Kb/s   0.00 Kb/s
           Out:  0.00 Kb/s   0.00 Kb/s   0.00 Kb/s
         Total:  0.00 Kb/s   0.00 Kb/s   0.00 Kb/s

iftop 高级使用场景

在这一步骤中,我们将探索 iftop 命令的一些高级使用场景。

  1. 监控特定网络接口
sudo iftop -i eth0

这将仅显示 eth0 接口上的网络流量。

  1. 按主机或端口过滤流量
sudo iftop -F 192.168.1.100

这将显示与 IP 地址为 192.168.1.100 的主机之间的网络流量。

sudo iftop -p 80

这将显示端口 80(HTTP)上的网络流量。

  1. 将输出保存到文件
sudo iftop -B -f iftop.txt

这将把 iftop 的输出保存到当前目录下的 iftop.txt 文件中。

  1. 以特定格式显示输出
sudo iftop -o "%-18s %-18s %10.2f %10.2f %10.2f"

这将以自定义格式显示输出,展示源地址、目标地址、传入、传出和总带宽使用情况。

  1. 在浏览器中显示输出
sudo iftop -w

这将启动 iftop 的 Web 服务器,并在浏览器中显示网络流量信息。

示例输出:

@@@@ IFTOP 1.0~pre4 @@@@
 192.168.1.100 : 192.168.1.101
                 192.168.1.102
                 192.168.1.103
                 192.168.1.104
                 192.168.1.105
                 192.168.1.106
                 192.168.1.107
                 192.168.1.108
                 192.168.1.109
                 192.168.1.110

            In:  0.00 Kb/s   0.00 Kb/s   0.00 Kb/s
           Out:  0.00 Kb/s   0.00 Kb/s   0.00 Kb/s
         Total:  0.00 Kb/s   0.00 Kb/s   0.00 Kb/s

总结

在本实验中,我们介绍了 iftop 命令,这是 Linux 中一个强大的网络监控工具。我们学习了如何安装和运行 iftop,以观察系统的实时带宽使用情况。iftop 命令会显示源 IP 地址和目标 IP 地址,以及传入和传出的网络流量。我们还探索了 iftop 的高级使用场景,例如监控特定网络接口以及根据各种条件过滤流量。通过本实验,你应该能够很好地理解如何使用 iftop 来有效地监控和排查 Linux 系统中的网络问题。

Linux 命令速查表