iftop是一个用于实时监控网络流量的命令行工具。
作用:监控网卡的实时流量(可以指定网段)、流量排序、反向解析IP、显示端口信息等。
安装iftop
基于 Debian/Ubuntu 的 Linux 发行版
sudo apt-get install iftop
基于 Red Hat/CentOS 的发行版
sudo yum install iftop
运行iftop
$ iftop
=>代表发送数据,<= 代表接收数据
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
示例
256KB 512KB 768KB 1.00MB 1.25MB mqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqq
10.80.123.214 => 100.100.192.132 0B 332B 332B
<= 0B 13B 13B
10.80.123.214 => 100.100.36.102 0B 69B 69B
<= 0B 70B 70B
第一行:显示流量的比例尺,以便将流量显示在屏幕上。每个方块代表一定数量的流量。比如,256KB
表示每个方块代表 256KB 的流量。
每一对连续的行,上边一行代表了从源到目标的流量情况(发送),下边一行代表了从目标到源的流量情况(接收)。
10.80.123.214 => 100.100.192.132:表示从 IP 地址为 10.80.123.214 的主机到 IP 地址为 100.100.192.132 的主机的流量情况。
0B、332B、332B:分别代表了接收、发送和总的字节数。在这个例子中,接收了 0 字节,发送了 332 字节,总共的流量也是 332 字节。
<= 和 =>:分别代表了流量的方向,<= 表示接收流量,=> 表示发送流量。
找出最费流量的ip和端口号
1、运行iftop命令
$ iftop –i eth0 -nNB -m 10M
运行 iftop
命令并指定监视的网络接口为 eth0
,禁用主机名和端口号解析,以字节/秒为单位显示流量,并将最大流量显示限制为 10MB。
-i:指定网卡,在这种情况下,eth0
是要监视的网络接口名称。
-n:禁用主机名解析。使用此选项可以防止 iftop
尝试解析 IP 地址对应的主机名,这有助于提高性能并减少不必要的网络请求。
-N:禁用端口号解析。使用此选项可以防止 iftop
尝试解析端口号对应的服务名称,同样有助于提高性能并减少不必要的网络请求。
-B:以字节/秒为单位显示流量。默认是bit,太小!
-m:设置流量显示上限。使用此选项可以限制 iftop
显示的最大流量值。如果流量超过这个值,将会被截断显示。
2、按下L显示流量刻度
L参数直接显示进度条,方便人类阅读
3、按下T显示每个连接的总流量
4、按下3,根据最近40s统计排序
用平均值来统计最权威点
5、按下t,发送和接受合成一行
两行变一行
6、多按几次B,查看最近2s、10s、40s的统计
图中的172.17.1.158就是我们找到的流量用得最多的IP
7、筛选指定IP
按下l, 输入172.17.1.158,出现如下
回车,生效
8、找到这个ip哪个端口流量用得最多
按下p,根据端口号显示