作为互联网工作者需要监控相关IT基础设备以确保其能够7x24正常工作。通常情况下我们必须监控硬件的性能,如:内存、硬盘和CPU等;所以我们必须对我们的网络进行监控。我们需要确保我们的网络和应用没有被过度使用而导致网站功能不正常。本文我们将介绍如何使用 iftop 对网络进行监控。

iftop 是一个能够提供网络带宽实时监控的工具。iftop 通过测量每个连接进入和进出的数据包的大小从而达到监控网络的目的;即它通过捕获网卡进入和进出的流量,然后对其求和从而得到正确的网络带宽数据。

在 Debian/Ubuntu 安装

iftop 包含在 Debian/Ubuntu 的默认源中,所以我们可以通过下面的命令很方便的安装:

$ sudo apt-get install iftop

在 RHEL/Centos 上使用 yum 安装

为了能够在 RHEL/Centos 上安装 iftop 我们需要使用 EPEL 源。我们可以在终端使用下面命令启用 EPEL 源。

RHEL/CentOS 7

$ rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

RHEL/CentOS 6 (64 Bit)

$ rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

RHEL/CentOS 6 (32 Bit)

$ rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

EPEL源启用后,我们可以通过下面命令安装 iftop

$ yum install iftop

通过执行上面的命令后,我们的系统中就已经成功安装 iftop 工具了。现在我们可以通过它来监控我们的网络了。

iftop 使用

在命令终端输入 iftop

$ iftop

iftop

通过上面的命令我们可以看到如上图所示,实时监控当前机器上的网络状况。同时我们也可以使用 iftop -n ,那么网络监控时就不会再进行DNS反解析的操作,直接显示IP,从而可以节省一定的带宽。

当我们在使用 iftop 命令时通过使用 h 键就可以看到它支持的所有参数。

iftop help

如果要监控特定的网络端口,可以使用下面的命令

$ iftop –I pop2

###相关参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-h                  显示本帮助(Help)信息  
-n 不进行主机名(hostName)查找
-N 不将端口号(port Number)转换成对应的服务 to services
-p 混合(Promiscuous)模式(显示网络相关的其他主机信息)
-b 不显示流量图形条(Bar)
-B 以字节(Byte)为单位,显示带宽(Bandwidth);默认以比特(bit)显示的
-i interface 监控的网卡接口(interface)
-f filter code 包统计时,使用过滤码;默认:无,只统计IP包
-F net/mask 显示特定IPv4网段的进出流量(Flow);如# iftop -F 10.10.1.0/24
-G net6/mask6 显示特定IPv6网段的进出流量(Flow)
-l 显示并统计IPv6本地(Local)链接的流量(默认:关)
-P 显示端口(Port)
-m limit 设置显示界面上侧的带宽刻度(liMit)
-c config file 指定配置(Config)文件
-t 使用不带窗口菜单的文本(text)接口

排序:
-o 2s Sort by first column (2s traffic average)
-o 10s Sort by second column (10s traffic average) [default]
-o 40s Sort by third column (40s traffic average)
-o source Sort by source address
-o destination Sort by destination address

The following options are only available in combination with -t
-s num num秒后打印一次文本输出然后退出
-L num 打印行数