Linux流量監(jiān)控工具iftop和nload淺析
因?yàn)樽鯨inux常常會(huì)要做Linux流量監(jiān)控的流量查看,Linux流量監(jiān)控還是比較常用的,于是我研究了一下Linux流量監(jiān)控的一些方法,在這里拿出來和大家分享一下,希望對(duì)大家有用。下面的三個(gè)方法能很好的解決當(dāng)前流量查看
Linux流量監(jiān)控的iftop工具
用途: 用來即時(shí)監(jiān)看網(wǎng)路狀態(tài)和各ip所使用的頻寬
執(zhí)行(必須以root身份)
監(jiān)控eth1的網(wǎng)卡的流量
# iftop -i eth1
以位元組(bytes)為單位顯示流量(預(yù)設(shè)是位元bits):
$ iftop -B
直接顯示IP, 不進(jìn)行DNS反解:
$ iftop -n
直接顯示連接埠編號(hào), 不顯示服務(wù)名稱:
$ iftop -N
顯示某個(gè)網(wǎng)段進(jìn)出封包流量
$ iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0
其他參數(shù)可下 iftop -h 看說明.
進(jìn)入iftop畫面時(shí), 可按 p 切換是否顯示連接埠, n 切換顯示IP或主機(jī)的domain name, N切換顯示連接埠代號(hào)或名稱, p暫停顯示, b切換是否顯示長(zhǎng)條, B切換計(jì)算幾秒內(nèi)的平均流量, 其他按鍵可以按h觀看說明.
設(shè)定檔的位置在~/.iftoprc , 關(guān)於設(shè)定檔的寫法可以參考 iftop 的 info page.
Linux流量監(jiān)控的nload工具
用途: 用來即時(shí)監(jiān)看網(wǎng)路狀態(tài)和各ip所使用的頻寬(很廢話了)
nload默認(rèn)的是eth0網(wǎng)卡,如果你想監(jiān)測(cè)eth1網(wǎng)卡的流量
#nload eth1
nload 默認(rèn)分為上下兩塊:上半部分是:Incoming也就是進(jìn)入網(wǎng)卡的流量,下半部分是:Outgoing,也就是從這塊網(wǎng)卡出去的流量,每 部分都有當(dāng)前流量(Curr),平均流量(Avg),最小流量(Min),***流量(Max),總和流量(Ttl)這幾個(gè)部分,看起來還是蠻直觀的。
另外,你也可以自己定義流量數(shù)值顯示的單位
#nload --help
就可以看到具體的相關(guān)參數(shù)了。
查看網(wǎng)絡(luò)平均流量
下面的腳本可以很好的監(jiān)控你的網(wǎng)絡(luò)的平均流量,你可以提定時(shí)間
- #!/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"
【編輯推薦】