博客 / Linux/ linux实时流量监控工具iftop安装与使用

linux实时流量监控工具iftop安装与使用

linux实时流量监控工具iftop安装与使用

iftop 简介

在类 Unix 系统中,我们可以使用 top 命令查看系统资源、进程和内存占用等信息。查看网络状态则可以使用 netstatnmap 等工具。如果需要监控实时的网络流量、查看 TCP/IP 连接等,iftop 是一个功能强大且直观的选择。

iftop 是什么?

iftop 是一款类似于 top 的实时网络流量监控工具。它能够以动态、可视化的方式展示指定网络接口的带宽使用情况。

iftop 的主要功能

iftop 可以用来:

  • 监控指定网卡的实时流量(可精确到特定网段)。
  • 显示通信的源 IP、目标 IP 及端口信息。
  • 支持反向解析 IP 地址为主机名。
  • 以图形条形式直观展示流量变化。

安装 iftop

iftop 可以通过系统包管理器或源码编译两种方式安装。

方法一:通过包管理器安装(推荐)

这是最简单快捷的方式。

  • CentOS/RHEL/Fedora 系统:
    yum install epel-release  # 确保 EPEL 仓库已启用
    yum install iftop
  • Debian/Ubuntu 系统:
    apt-get update
    apt-get install iftop

方法二:源码编译安装

如果需要最新版本或特定定制,可以选择编译安装。首先确保系统已安装必要的编译工具和依赖库。

安装编译环境与依赖:

  • CentOS/RHEL/Fedora:
    yum install gcc make autoconf flex byacc libpcap libpcap-devel ncurses ncurses-devel
  • Debian/Ubuntu:
    apt-get install build-essential autoconf flex byacc libpcap0.8-dev libncurses5-dev

下载并编译安装:

wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-1.0pre4.tar.gz
tar zxvf iftop-1.0pre4.tar.gz
cd iftop-1.0pre4
./configure
make
make install  # 通常需要 root 权限

请注意,官网地址和版本可能更新,请以官方网站(http://www.ex-parrot.com/~pdw/iftop/)为准。

运行 iftop

安装完成后,在终端直接输入命令即可运行:

iftop

默认会监控第一个非环回网络接口(如 eth0)。运行后,你将看到一个实时更新的流量监控界面。

界面与参数说明

iftop 界面概览

iftop 界面主要分为几个部分:

  • 顶部刻度尺: 用于衡量下方流量图形条的比例。
  • 流量方向箭头(<= =>): 指示流量的方向(发送与接收)。
  • 中间列表: 显示当前活跃的网络连接,包含源/目标主机、端口及实时流量。
  • 底部统计行:
    • TX: 发送流量速率。
    • RX: 接收流量速率。
    • TOTAL: 总流量速率。
    • Cumm: 自 iftop 启动以来的累计流量。
    • peak: 流量峰值速率。
    • rates: 分别显示过去 2秒、10秒、40秒 的平均流量速率。

常用启动参数

启动 iftop 时可以使用以下参数:

  • -i <interface>:指定要监控的网络接口,如 iftop -i eth1
  • -B:以字节(Bytes)为单位显示流量,默认单位为比特(bits)。
  • -n:禁用主机名解析,直接显示 IP 地址。
  • -N:禁用端口服务名解析,直接显示端口号。
  • -F <net/mask>:仅显示指定网段的流量,如 iftop -F 192.168.1.0/24
  • -P:默认显示端口信息。
  • -m <limit>:设置界面顶部刻度尺的最大值,如 iftop -m 100M

运行时交互命令

在 iftop 运行界面中,可以按下以下按键进行交互:

  • h: 切换显示/隐藏帮助信息。
  • n: 切换显示本机 IP 或主机名。
  • s/d: 切换显示源(source)或目标(destination)主机信息。
  • t: 循环切换流量显示模式(两行/一行/仅发送/仅接收)。
  • N: 切换显示端口号或服务名称。
  • p: 切换显示/隐藏端口信息。
  • P: 暂停/继续刷新显示。
  • b: 切换显示/隐藏平均流量图形条。
  • 1/2/3: 根据右侧三列流量数据(2秒、10秒、40秒平均)进行排序。
  • < 或 >: 根据左侧或右侧的 IP 地址进行排序。
  • l: 启用屏幕过滤,输入 IP 或字符串后只显示相关连接。
  • q: 退出 iftop。

常见问题与解决

  • 错误: make: yacc: Command not found

    解决: 安装 byacc 包。

    # CentOS/RHEL
    yum install byacc
    # Debian/Ubuntu
    apt-get install byacc
  • 错误: configure: error: Curses! Foiled again! (Can't find a curses library...)

    解决: 安装 ncurses 开发包。

    # CentOS/RHEL
    yum install ncurses-devel
    # Debian/Ubuntu
    apt-get install libncurses5-dev

发表评论

您的邮箱不会公开。必填项已用 * 标注。