linux每秒獲取流量指令碼

2021-10-08 09:54:16 字數 1342 閱讀 9244

間隔1秒,通過/proc/netdev獲取接受位元組數和傳送位元組數 在用後面獲取的減去前面的位元組數 得到當前傳送和接受位元組數

#!/bin/sh

while

true

doeval

$(cat /proc/net/dev|

grep eth0|

awk '

') sleep 1s

eval $(

cat /proc/net/dev|

grep eth0|

awk ''

)#echo 第一次接受:$receivefirst 第二次接受:$receivesecond  第一次傳送:$sendfirst 第二次傳送:$sendsecond

#echo 接受:$[receivesecond-receivefirst] 傳送:$[sendsecond-sendfirst]

receive=$[receivesecond-receivefirst]

send=$[sendsecond-sendfirst]

#echo 接受:$receive 傳送:$send

mb=$[1024*1024]

#echo $mb

if(( receive > mb ))

;then

receive=

$(printf

'%.2f'

$(echo "scale=3;$/$"|bc

))mb

elif

(( receive >

1024));

then

receive=

$(printf

'%.2f'

$(echo "scale=3;$/1024"|bc

))kb

else

receive=

$b fi

if(( send > mb ))

;then

send=

$(printf

'%.2f'

$(echo "scale=3;$/$"|bc

))mb

elif

(( send >

1024));

then

send=

$(printf

'%.2f'

$(echo "scale=3;$/1024"|bc

))kb

else

send=

$b fi

echo 接受:$receive 傳送:$send

done

獲取每秒重新整理的網路資料

伺服器上有一組每秒重新整理一次的json格式的資料,通過www獲取並使用jsonconvert解析,這裡我使用的協程判斷www完成資料讀取後進行json解析工作,並在解析完成後再次開啟協程,做到每次得到資料後一秒再次獲取資料,實現重新整理功能。void start else ienumerator ...

windows獲取流量

乙個輕量級的網路流量監控程式,只能在區域網中使用。主要用到getiftable 和getifentry 兩個api。介面用qt做,可以隱藏在系統托盤中。截圖核心 如下 cpp view plain copy void netflow getflow dwsize sizeof mib iftable...

測試網絡卡流量指令碼

下面是乙個測試網絡卡流量的指令碼,指令碼內容如下 bin bash function usage if lt 2 o gt 2 then usage fieth 1 time 2 old inbw cat proc net dev grep eth awk f old outbw cat proc ...