時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
腳本1:
#!/bin/bash
e0_in_old=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e0_out_old=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |tail -n1)>e0_total_old=$(($e0_in_old + $e0_out_old))
e1_in_old=$(ifconfig eth1 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e1_out_old=$(ifconfig eth1 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |tail -n1)
e1_total_old=$(($e1_in_old + $e1_out_old))
while true
do
sleep 1
e0_in_new=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e0_out_new=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |tail -n1)
e0_total_new=$(($e0_in_new + $e0_out_new))
e1_in_new=$(ifconfig eth1 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e1_out_new=$(ifconfig eth1 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |tail -n1)
e1_total_new=$(($e1_in_new + $e1_out_new))
e0_in=$((($e0_in_new - $e0_in_old) * 8))
e0_out=$((($e0_out_new - $e0_out_old) * 8))
e0_total=$((($e0_total_new - $e0_total_old) * 8))
e1_in=$((($e1_in_new - $e1_in_old) * 8))
e1_out=$((($e1_out_new - $e1_out_old) * 8))
e1_total=$((($e1_total_new - $e1_total_old) * 8))
echo -e "eth0 IN: $e0_in \t b/s OUT: $e0_out \t b/s TOTAL: $e0_total \t b/s"
echo -e "eth1 IN: $e1_in \t b/s OUT: $e1_out \t b/s TOTAL: $e1_total \t b/s\n"
e0_in_old=$e0_in_new
e0_out_old=$e0_out_new
e0_total_old=$e0_total_new
e1_in_old=$e1_in_new
e1_out_old=$e1_out_new
e1_total_old=$e1_total_new
done
?
exit 0
?
?
腳本2:
#!/bin/bash
#? osdba 2008.10.22 monitor the interface's network traffic.
if [ $# -ne 3 ];then
?? echo Useage : $0 interface interval count
?? echo Example: $0 eth0 2 10
?? exit
fi
eth=$1
count=$3
interval=$2
inbytesfirst=$(cat /proc/net/dev |tr ':' ' '|awk? '/'$eth'/{print $2}')
if [ -z "$inbytesfirst" ];then
??? echo The network interface $eth is not exits!
??? exit 1;
fi
outbytesfirst=$(cat /proc/net/dev |tr ':' ' '|awk? '/'$eth'/{print $10}')
inpacketsfirst=$(cat /proc/net/dev |tr ':' ' '|awk? '/'$eth'/{print $3}')
outpacketsfirst=$(cat /proc/net/dev |tr ':' ' '|awk? '/'$eth'/{print $11}')
sleep $interval"s"
i=0
while [ "$i" -lt "$count" ]
do
?? inbytesend=$(cat /proc/net/dev |tr ':' ' '|awk? '/'$eth'/{print $2}')
?? outbytesend=$(cat /proc/net/dev |tr ':' ' '|awk? '/'$eth'/{print $10}')
?? inpacketsend=$(cat /proc/net/dev |tr ':' ' '|awk? '/'$eth'/{print $3}')
?? outpacketsend=$(cat /proc/net/dev |tr ':' ' '|awk? '/'$eth'/{print $11}')
?? bytesin=$(($inbytesend-$inbytesfirst))
?? bytesout=$(($outbytesend-$outbytesfirst))
?? packetsin=$(($inpacketsend-$inpacketsfirst))
?? packetsout=$(($outpacketsend-$outpacketsfirst))
?? if [ "$bytesin" -lt "0" ];then
????? bytesin=$((4294967295-$inbytesfirst+$inbytesend))
????? #echo bytesin $bytesin $inbytesfirst $inbytesend
?? fi
?? if [ "$bytesout" -lt "0" ];then
????? bytesout=$((4294967295-$outbytesfirst+$outbytesend))
????? #echo bytesout $bytesout $outbytesfirst $outbytesend
?? fi
?? if [ "$packetsin" -lt "0" ];then
????? packetsin=$((4294967295-$inpacketsfirst+$inpacketsend))
????? #echo packetsin $packetsin $inpacketsfirst $inpacketsend
?? fi
?? if [ "$packetsout" -lt "0" ];then
????? packetsout=$((4294967295-$outpacketsfirst+$outpacketsend))
????? #echo packetsout $packetsout $outpacketsfirst $outpacketsend
?? fi
?? bytesin=$(($bytesin/$interval))
?? bytesout=$(($bytesout/$interval))
?? packetsin=$(($packetsin/$interval))
?? packetsout=$(($packetsout/$interval))
?? sumbytesin=$(($sumbytesin+$bytesin))
?? sumbytesout=$(($sumbytesout+$bytesout))
?? sumpacketsin=$(($sumpacketsin+$packetsin))
?? sumpacketsout=$(($sumpacketsout+$packetsout))
?? if [ $(($i%20)) -eq 0 ];then
????? echo " ifname?? | in_kbits/s out_kbits/s | in_kBytes/s out_kBytes/s | in_packets/s out_packets/s"
????? echo "--------- | ---------- ----------- | ----------- ------------ | ------------ -------------"
?? fi
?? echo $eth $bytesin $bytesout $packetsin $packetsout |awk '{printf("%9s | %10d %11d | %11d %12d | %12d %13d\n",$1,$2/128,$3/128,$2/1024,$3/1024,$4,$5)}'
?? inbytesfirst=$inbytesend
?? outbytesfirst=$outbytesend
?? inpacketsfirst=$inpacketsend
?? outpacketsfirst=$outpacketsend
??
?? i=$(($i+1))
?? sleep $interval"s"
done
sumbytesin=$(($sumbytesin/$i))
sumbytesout=$(($sumbytesout/$i))
sumpacketsin=$(($sumpacketsin/$i))
sumpacketsout=$(($sumpacketsout/$i))
echo "--------- | ---------- ----------- | ----------- ------------ | ------------ -------------"
echo Average $sumbytesin $sumbytesout $sumpacketsin $sumpacketsout |awk '{printf("%9s | %10d %11d | %11d %12d | %12d %13d\n",$1,$2/128,$3/128,$2/1024,$3/1024,$4,$5)}'
?
腳本3:
#!/bin/bash
# test network width
function usage
{
?echo "Usage: $0?? "
?echo "?????? e.g. $0 eth0 2"
?exit 65
}
if [ $# -lt 2 ];then
usage
fi
typeset in in_old dif_in
typeset out out_old dif_out
typeset timer
typeset eth
eth=$1
timer=$2
in_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' )
out_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' )
while true
do
sleep ${timer}
in=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' )
out=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' )
dif_in=$(((in-in_old)/timer))
dif_out=$(((out-out_old)/timer))
echo "IN: ${dif_in} Byte/s OUT: ${dif_out} Byte/s"
in_old=${in}
out_old=${out}
done
exit 0
?
腳本1:
#!/bin/bash
e0_in_old=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e0_out_old=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |tail -n1)>e0_total_old=$(($e0_in_old + $e0_out_old))
e1_in_old=$(ifconfig eth1 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e1_out_old=$(ifconfig eth1 |grep bytes |awk '{pr
關(guān)鍵詞標簽:linux,網(wǎng)卡
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負載