实时监测网络流量的神器——Linux iftop (linux iftop)
随着互联网的普及,网络流量的监测成为了网络管理者不可缺少的工作。如果网站运行缓慢或者访问不通,那么可能是因为网络带宽不够,或者网络中存在大量的无效流量。在处理这类问题时,了解网络流量的状态和趋势是很重要的。本文将介绍一种。
什么是 iftop?
iftop 是一款开源的、跨平台的网络流量监测工具,它可以实时显示出服务器或终端网络接口的流量及连接状况,快速而直观地告诉你当前网络负载的情况。它支持丰富的过滤规则,可以根据 IP、端口、协议等多种因素,对网络流量进行实时过滤和统计。
iftop 的安装使用
iftop 基于命令行操作,因此使用起来需要一点儿技巧。本文将为大家详细介绍如何安装和使用 iftop。
Ubuntu 系统的安装
在 Ubuntu 系统下可以使用 apt 命令来安装 iftop:
sudo apt-get update
sudo apt-get install iftop
CentOS 系统的安装
在 CentOS 系统下可以使用 yum 命令来安装 iftop:
yum -y install epel-release
yum -y install iftop
iftop 的使用
一、直接使用 iftop 命令
在 Linux 终端中输入 iftop 命令,可以得到一份实时的网络流量监测报告。默认情况下,iftop 显示所有的 TCP、UDP、ICMP 流量,包括进出流量、源地址、目标地址、端口号、协议类型以及连接状态等详细信息。示例如下:
[root@10-10-10-10 ~]# iftop
listening on eth0 (10.10.10.10): 514 udp
port 22 => 172.16.0.20 9.59Kb 9.74Kb 328 pps 292 pps
172.16.0.20:22 7.75Kb 7.63Kb 276 pps 251 pps
172.16.0.20:44128 855b 1020b 16 pps 17 pps
172.16.0.20:514 761b 1145b 17 pps 19 pps
上面的输出结果显示了监听在 eth0 网卡上的网络流量信息,包括源地址、目标地址、协议类型和流量大小等明细数据。其中,之一行的 udp 表示监听的接口和协议类型。第二行的端口号表明了进流量(左边)和出流量(右边)的大小,以及每秒钟的数据包数(pps)。
iftop 会持续监测网络流量,每个 2 秒钟会更新一次屏幕。如果需要监测特别的网络流量,则可以使用参数进行筛选。比如,下面的命令表示只监测源地址为 192.168.1.10 的流量:
iftop -F 192.168.1.10
二、iftop 的其他参数
除了使用 iftop 命令默认选项获取流量信息以外,iftop 还提供了一些常用的参数。下面是常用的一些参数:
– i:指定监听的网卡。
– B:指定网络流量的单位。
– P:只监测指定端口的流量。
– N:关闭 DNS 解析。
– F:过滤特定的 IP 或网段。
下面列举了一些常用的 iftop 命令参数:
1. 指定监听的网卡
只需要在 iftop 命令后面使用 -i 参数,就可以直接指定要监听的网卡。举个例子,在以下命令执行的过程中,iftop 将在 eth0 网卡上监听网络流量:
iftop -i eth0
2. 指定流量单位
iftop 默认的带宽单位是 kbyte/sec,如果需要使用不同的单位(比如,byte/sec,mbit/sec 等单位),可以使用 -B 选项,并将单位作为参数传递给它。下面是一个使用 mbit/sec 作为网络流量单位的命令:
iftop -B 2MB
3. 监测特定端口
有时候,我们可能需要监测特定的端口,iftop 命令可以使用 -P 参数来实现。例如,以下命令仅仅监测 80 端口的网络流量:
iftop -P 80
4. 关闭 DNS 解析
如果你不希望 iftop 提供 DNS 解析,可以使用 -n 参数来关闭解析功能。这个选项会提高程序的运行效率。下面是如何打开这个选项的命令:
iftop -n
如果要关闭 DNS 解析,可以使用以下命令:
iftop -N
5. 过滤特定的 IP 或网段
如果我们只想查看特定网段或 IP 的网络流量情况,可以使用 -F 参数来过滤。以下命令将只监控特定网段(192.168.0.0/16)的网络流量:
iftop -F 192.168.0.0/16
结论