linux iftop 脚本,iftop: Linux 下的流量监控工具

iftop 是 Linux 下的流量监控工具,可以用来观察实时的网络连接和网络流量情况。网上有很多介绍使用的相关文章,但是我发现很难找到原文,有些文章对它的使用的解释很生硬。所以,我今天将自己理解的用法整理出来,分享给需要的同学。如有不对之处,还请各位不吝指出。

显示结果

在命令行中执行之后,会显示抓取的网络连接列表,以及对应的网络流量统计。每个连接显示结果类似:

foo.example.com => bar.example.com 1Kb 500b 100b

<= 2Mb 2Mb 2Mb

两行分别表示不同的数据传输方向,对于第一行而言,第一列是源地址,第二列是目的地址,最后三列分别是最近 2 秒、10 秒、40 秒发送的平均网络流量。默认情况下,是按十秒内的平均网络流量排序的。

底部会显示一些全局的统计数据,peek 是指峰值情况,cumm 是从运行至今的累计情况,而 rates 表示最近 2 秒、10 秒、40 秒内总共接收或者发送的平均网络流量。

TX: cumm: 143MB peak: 10.5Mb rates: 1.03Mb 1.54Mb 2.10Mb

RX: 12.7GB 228Mb 189Mb 191Mb 183Mb

TOTAL: 12.9GB 229Mb 190Mb 193Mb 185MbW

以上介绍的是默认的显示结果,同 top 一样,也提供不少快捷键来改变默认的显示行为。

快捷键

在显示结果中,按下 h 或者 ? 可以切换显示帮助,下面介绍一些常见的快捷键:

1. 主机显示

n: 切换是否解析主机名,你可以选择显示域名还是 IP 地址;

s/d: 切换是否显示源主机或者目的主机;

t: 切换主机接收和发送显示的模式:两行显示、一行显示、只显示发送流量、只显示发送流量;

2. 端口显示

N: 切换显示服务名称还是端口号,例如 ssh 或者 22;

S/D:切换是否显示源主机端口或者目的主机端口;

p:切换是否显示端口号;

3. 排序显示

1/2/3:根据最近 2 秒、10 秒、40 秒的平均网络流量排序;

:根据目的主机地址排序;

o:固定显示当前连接,用来观察当前连接的流量情况,避免刷新后连接顺序变化;

4. 其他

P:暂停刷新;

h/?:切换显示帮助;

b:切换是否显示 bar graph;

B:切换 bar graph 显示为最近 2 秒、10 秒、40 秒的平均网络流量;

T: 切换显示每个连接的累计总流量,类似前面提到的 cumm,不过是针对单个连接的;

j/k:垂直滚动显示连接;

q: 退出;

使用例子

现在我们要找出系统中下载最猛的连接,假设网卡为 eth0(私网):

# sudo iftop -i eth0 -nP

通过执行一下操作,切换到最适合观察的显示结果:

按下 t 切换显示模式,切换到只显示接收流量(Received traffic only);

按下 T 显示每个连接的累计总流量(Show cummulative totals);

按下 3 按最近 40 秒的平均网络流量排序(Sort by col 3);

按下 B 切换 bar graph 显示为最近 40 秒的平均网络流量(Bars show 40s average),便于观察;

现在,观察一段时间后,基本上可以看出下载最猛的连接了把 🙂

参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值