iftop使用示例

1. iftop -nNP -i eth1 -f 'net (10.1.x.x/16 or 10.2.x.x/16)' -t -s 60

-i eth1 如果有多个网络接口,则需要注意网络接口的选择。

-t -s 60组合使用,表示取60秒网络流量输出到终端。这意味着你可以把输出重定向到文件,进行处理。

-f 参数支持tcpdump的语法,可以使用各种过滤条件。

如果打算计算经过过滤的网络流量的速率,则可以 :

network_traffic=$(iftop -nNP -i eth1 -f 'net (10.1.x.x/16 or 10.2.x.x/16)' -t -s 60 2>/dev/null | awk '/^Cumulative/')

outgoing=$(echo "$network_traffic" |  awk '/[0-9]B/||/KB/||/MB/||/GB/{print $3}')

incoming=$(echo "$network_traffic" |  awk '/[0-9]B/||/KB/||/MB/||/GB/{print $4}')

##将outgoing和incoming转换成字节数,并除以60秒,然后乘以8bit,计算出网络流量的平均速率bit per second (bps)。

##写成脚本,每分钟运行一次,即可持续收集特定网段流量的速率。

 

2. iftop -nNP -i eth1 -F 10.x.x.x/24

只显示10.x.x.x/24这个网段的流量。

posted @ 2017-06-15 10:20  记忆的红皮书  阅读(887)  评论(0编辑  收藏  举报