iftop工具
用途: 用來即時監看網路狀態和各ip所使用的頻寬
執行(必須以root身份)
監控eth1的網卡的流量
# iftop -i eth1
以位元組(bytes)為單位顯示流量(預設是位元bits):
$ iftop -B
直接顯示IP, 不進行DNS反解:
$ iftop -n
直接顯示連接埠編號, 不顯示服務名稱:
$ iftop -N
顯示某個網段進出封包流量
$ iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0
其他參數可下 iftop -h 看說明.
進入iftop畫面時, 可按 p 切換是否顯示連接埠, n 切換顯示IP或主機的domain name, N切換顯示連接埠代號或名稱, p暫停顯示, b切換是否顯示長條, B切換計算幾秒內的平均流量, 其他按鍵可以按h觀看說明.
設定檔的位置在~/.iftoprc , 關於設定檔的寫法可以參考 iftop 的 info page.
nload
用途: 用來即時監看網路狀態和各ip所使用的頻寬(很廢話了)
nload默認的是eth0網卡,如果你想監測eth1網卡的流量
#nload eth1
nload 默認分為上下兩塊:上半部分是:Incoming也就是進入網卡的流量,下半部分是:Outgoing,也就是從這塊網卡出去的流量,每 部分都有當前流量(Curr),平均流量(Avg),最小流量(Min),最大流量(Max),總和流量(Ttl)這幾個部分,看起來還是蠻直觀的。
另外,你也可以自己定義流量數值顯示的單位
#nload –help
就可以看到具體的相關參數了。
查看網絡平均流量
下面的腳本可以很好的監控你的網絡的平均流量,你可以提定時間
#!/bin/bash
echo -n “which nic?”
read eth
echo “the nic is “$eth
echo -n “how much seconds:”
read sec考試用書
echo “duration is “$sec” seconds, wait please…”
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” seconds total :”$sum”bytes”
aver=$(($sum/$sec))
echo “avrage :”$aver”bytes/sec”
還有一個叫ipband的軟件聽講不錯,有興趣可以到http://ipband.sourceforge.net /看看
IO圖形化監控
windows的任務管理器很不錯,可以直接看到進程和對應IO的情況,linux也有了,不過要求python>=2.5,內核>;=2.6.20