• 使用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

  • 相关阅读:
    贴一段微博上的小知识
    关于编译Qt以及驱动的一点总结吧
    一些服务器客户端的c例子
    android中DatePicker和TimePicker的使用
    Python标准库string模块《未完待续》
    Qt: SQL Programming
    和一个坑爹的项目组的经历
    linux一些杂项整理
    Qt中的QTableWidget
    Linux c学习进程基础学习
  • 原文地址:https://www.cnblogs.com/feisky/p/2316009.html
Copyright © 2020-2023  润新知