知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Linux下使用Shell对网络流量进行监控

发布时间:2015-02-02 18:29:06作者:知识屋

#input the network name if [ -n "$1" ]; then    eth_name=$1else    eth_name="eth0"fi send_o=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`recv_o=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'` send_n=$send_orecv_n=$recv_o i=0while [ $i -le 100000 ]; do    send_l=$send_n    recv_l=$recv_n    sleep 2    send_n=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`    recv_n=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'`    i=`expr $i + 1`     send_r=`expr $send_n - $send_l`    recv_r=`expr $recv_n - $recv_l`    total_r=`expr $send_r + $recv_r`    send_ra=`expr /( $send_n - $send_o /) / $i`    recv_ra=`expr /( $recv_n - $recv_o /) / $i`    total_ra=`expr $send_ra + $recv_ra`    sendn=`ifconfig $eth_name | grep bytes | awk -F /( '{print $3}' | awk -F /) '{print $1}'`    recvn=`ifconfig $eth_name | grep bytes | awk -F /( '{print $2}' | awk -F /) '{print $1}'`    clear    echo "Last second : Send rate: $send_r Bytes/sec Recv rate: $recv_r Bytes/sec Total rate: $total_r Bytes/sec"    echo "Average value: Send rate: $send_ra Bytes/sec Recv rate: $recv_ra Bytes/sec Total rate: $total_ra Bytes/sec"    echo "Total traffic after startup: Send traffic: $sendn Recv traffic: $recvn"done

/

这其中个使用到了,如下常用的shell命令:
变量字符串是否为空
要运行命令需要使用 ·· 作为命令的应用
while 循环的基本写法
一些数学表达式的使用
对于输出的一些特殊符号的转义写法

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜