Linux下查看网卡流量的工具

工具运行效果如下:
#iftop eth0 1 3
    ifname       in_bytes/s      out_bytes/s    total_bytes/s
      eth0              446              418              864
      eth0               70              182              252
      eth0               70              182              252

脚本内容如下:
------------------------------------------------------------------------

#!/bin/bash
#  #### 2012.10.22 monitor the interface network traffic.

if [ $# -ne 3 ];then
   echo example: ntop eth0 1 10
   exit
fi

eth=$1
count=$3
interval=$2

infirst=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $2}')
if [ -z "$infirst" ];then
    echo The network interface $eth is not exits!
    exit 1;
fi

outfirst=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $10}')
echo "ifname" "in_bytes/s" "out_bytes/s" "total_bytes/s" |awk '{printf("%10s %16s %16s %16s\n",$1,$2,$3,$4)}'
sleep $interval"s"
i=0
while [ "$i" -lt "$count" ]
do
   inend=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $2}')
   outend=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $10}')
   sumin=$((($inend-$infirst)/$interval))
   sumout=$((($outend-$outfirst)/$interval))
   sum=$(($sumin+$sumout))

   echo $eth $sumin $sumout $sum |awk '{printf("%10s %16s %16s %16s\n",$1,$2,$3,$4)}'
   infirst=$inend
   outfirst=$outend
   i=$(($i+1))
   sleep $interval"s"
done

------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值