方法一:

将下列脚本保存为可执行脚本文件,比如保存为flow.sh

#!/bin/bash  
while [ "1" ]  
do 
eth=$1  
RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')  
TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')  
sleep 1  
RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')  
TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')  
clear 
echo  -e  "\t RX `date +%k:%M:%S` TX" 
RX=$((${RXnext}-${RXpre}))  
TX=$((${TXnext}-${TXpre}))  
if [[ $RX -lt 1024 ]];then 
RX="${RX}B/s" 
elif [[ $RX -gt 1048576 ]];then 
RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')  
else 
RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')  
fi 
if [[ $TX -lt 1024 ]];then 
TX="${TX}B/s" 
elif [[ $TX -gt 1048576 ]];then 
TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')  
else 
TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')  
fi 
echo -e "$eth \t $RX   $TX " 
done 

脚本不需要额外再安装软件,用法为:

1、chmod +x ./flow.sh 修改脚本文件权限,将文件改成可执行脚本。
2、./flow.sh eth1即可开始监看接口eth1流量,按ctrl+c退出。


方法二:linux网络流量实时监控工具之nload

个人觉得nload是个很好用的一个工具,功能也很强.只是相对单一,只能查看总的流量,不能像iptraf那样,可针对IP,协议等
可以实时地监控网卡的流量,分Incoming,Outgoing两部分,也就是流入与流出的流量
同时统计当前,平均,最小,最大,总流量的值,使人看了一目了然,如下图:
jpg.jpg

官网及下载:
http://www.roland-riegel.de/nload/index.html
http://www.roland-riegel.de/nload/nload-0.7.2.tar.gz
http://dl.wdlinux.cn:5180/soft/nload-0.7.2.tar.gz

安装:

wget http://www.roland-riegel.de/nload/nload-0.7.2.tar.gz
tar zxvf nload-0.7.2.tar.gz
cd nload-0.7.2
./configure;make;make install

使用:
直接用nload回车即可,也可以指定网卡,如nload eth1
还可以指定是以K或M来显示流量,如nload -u M显示的流量是以MB为单位的

常用参数:
-t 多久刷新一次,单位毫秒。默认500毫秒。’
-m 同一时间显示多个设备占用带宽情况。
-u 流量单位。 h|H:自动调整; b|B:Bit; m|M:兆; g|G:G

请为这篇文章评分:
( 这篇文章尚未评分 )

Tags: linux, sh, 脚本, 流量, 网卡流量

Related Posts:

发表评论