阅读背景:

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

来源:互联网 

#input the network name
 
if [ -n "
          

#input the network name
 
if [ -n "$1" ]; then
    eth_name=$1
else
    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_o
recv_n=$recv_o
 
i=0
while [ $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 重复的根本写法
一些数学表达式的应用
对输出的一些特别符号的转义写法

" ]; then eth_name=

#input the network name
 
if [ -n "$1" ]; then
    eth_name=$1
else
    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_o
recv_n=$recv_o
 
i=0
while [ $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 重复的根本写法
一些数学表达式的应用
对输出的一些特别符号的转义写法

else eth_name="eth0" fi send_o=`ifconfig $eth_name | grep bytes | awk "{print }" | awk -F : "{print }"` recv_o=`ifconfig $eth_name | grep bytes | awk "{print }" | awk -F : "{print }"` send_n=$send_o recv_n=$recv_o i=0 while [ $i -le 100000 ]; do send_l=$send_n recv_l=$recv_n sleep 2 send_n=`ifconfig $eth_name | grep bytes | awk "{print }" | awk -F : "{print }"` recv_n=`ifconfig $eth_name | grep bytes | awk "{print }" | awk -F : "{print }"` 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 }" | awk -F \) "{print

#input the network name
 
if [ -n "$1" ]; then
    eth_name=$1
else
    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_o
recv_n=$recv_o
 
i=0
while [ $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 重复的根本写法
一些数学表达式的应用
对输出的一些特别符号的转义写法

}"` recvn=`ifconfig $eth_name | grep bytes | awk -F \( "{print }" | awk -F \) "{print

#input the network name
 
if [ -n "$1" ]; then
    eth_name=$1
else
    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_o
recv_n=$recv_o
 
i=0
while [ $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 重复的根本写法
一些数学表达式的应用
对输出的一些特别符号的转义写法

}"` 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#input the network name if [ -n "

#input the network name
 
if [ -n "$1" ]; then
    eth_name=$1
else
    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_o
recv_n=$recv_o
 
i=0
while [ $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 重复的根本写法
一些数学表达式的应用
对输出的一些特别符号的转义写法

" ]; then




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: