zoukankan      html  css  js  c++  java
  • 使用shell监控网络实时流量

    直接上代码:
    #!/bin/bash
    
    function usage
    {
            echo "Usage: $0 "
            echo "e.g. $0 eth0 2"
            exit 1
    }
    if [ $# -lt 2 ];then
            usage
    fi
    
    eth=$1
    interval=$2
    
    in_old=$(cat /proc/net/dev | grep -w $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk '{ print $1 }' )
    out_old=$(cat /proc/net/dev | grep -w $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk '{ print $9 }' )
    
    while true
    do
    	sleep ${interval}
    	in=$(cat /proc/net/dev | grep -w $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk '{ print $1 }' )
    	out=$(cat /proc/net/dev | grep -w $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk '{ print $9 }')
    	sub_in=$(( ($in-$in_old)/$interval ))
    	sub_out=$(( ($out-$out_old)/$interval ))
    	echo "Recv rate: $((${sub_in}/1024)) KB/s	Sent rate:  $((${sub_out}/1024)) KB/s "
    	in_old=${in}
    	out_old=${out}
    done
    exit 0 
    

     

    输出:

    Recv rate: 1175 KB/s Sent rate: 29 KB/s
    Recv rate: 1175 KB/s Sent rate: 29 KB/s
    Recv rate: 1179 KB/s Sent rate: 31 KB/s
    Recv rate: 987 KB/s Sent rate: 33 KB/s
    Recv rate: 1159 KB/s Sent rate: 29 KB/s
    Recv rate: 1167 KB/s Sent rate: 29 KB/s
    Recv rate: 1082 KB/s Sent rate: 27 KB/s
    Recv rate: 1085 KB/s Sent rate: 27 KB/s
    Recv rate: 1129 KB/s Sent rate: 29 KB/s
    Recv rate: 954 KB/s Sent rate: 24 KB/s
    Recv rate: 465 KB/s Sent rate: 18 KB/s
    Recv rate: 507 KB/s Sent rate: 14 KB/s
    Recv rate: 1135 KB/s Sent rate: 30 KB/s

     与dstat的对比:dstat -n -N peth1

    1176k 30k
    1176k 30k
    1180k 31k
    987k 33k
    1159k 29k
    1167k 30k
    1083k 27k
    1085k 27k
    1129k 29k
    955k 24k
    466k 19k
    508k 15k
    1135k 30k

  • 相关阅读:
    【转】我是一个线程
    前端之 JS 实现全选、反选、取消选中
    Python文件操作——逐行插入内容
    angularJs实现数据双向绑定的原理
    手机连接电脑调试页面
    工程化框架之feather
    网页上线后音频不能自动播放
    FormData对象
    地图热区自适应
    需求移交会
  • 原文地址:https://www.cnblogs.com/feisky/p/2316009.html
Copyright © 2011-2022 走看看