[原] 擷取Linux網路流量指令碼

來源:互聯網
上載者:User
擷取Linux網路流量指令碼

文法:[--help] [-i] [-d]

#!/bin/bash

VERSION="1.0.0.1"
eth=""
sec=0

help()
{
  printf "Version: $VERSION \n\
  Usage: $0 [-i interface] [-d time]\n\
  \t-i|--interface     : The needs of the inquiries Interface Network Card (such as eth0, eth1...)\n\
  \t-d|--time          : Delay time(seconds)\n";
}

echo "$*"
for dummy
do
 case $1 in
  --help) help; exit 1;;
  -i|--interface) shift; eth=$1;;
  -d|--time) shift; sec=$1;;  
 esac
 shift
done

#echo -n "Please enter the needs of the inquiries Interface Network Card (such as eth0, eth1...): "
#read eth
echo "Your input data is:"$eth
#echo -n "Input delay time(seconds):"
#read sec
echo "You are calculated within "$sec" seconds of the average flow, Please wait... "
infirst=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
outfirst=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
sumfirst=$(($infirst+$outfirst))
sleep $sec"s"
inend=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
outend=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
sumend=$(($inend+$outend))
sum=$(($sumend-$sumfirst))
echo $sec"(s) total flow is: "$sum" bytes"
aver=$(($sum/$sec))
echo "The average flow is: "$aver" bytes/sec"

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.