經過這幾天的找資料,及測試它的功能是否符合預期的設計。
以經完全符合當初的設計的理念,現在裝在私人的學生宿舍有30台
電腦在跑,來觀察它的調整能力。
現在著手讓它能夠在多人使用時能更細緻的調整頻寬,讓它的起伏
能更平順一些,又保有快速的反應。
再一些時間就能貼出來。
現在遇到一點問題:
頡取封包我是用防火牆的指令抓取的。
我在想如果能像mrtg來抓取snmp的每分鍾的封包,可能會更好。
學長們知道用什麼方法能抓取snmp的資料?
還是有另外的方法可以得到網路卡 eth1 及 eth0 的流量呢?
程式我是用 AWK 指令寫的。
謝謝拉。 :lol: :lol: :lol:
抓 snmp mib 要用 snmpwget 請自行參考 ucd-snmp
interface 流量的標準 mib oid 如下 :
inOctets : .1.3.6.1.2.1.2.2.1.10
OutOctets : .1.3.6.1.2.1.2.2.1.16
snmpget 指令範例 :
下面這個指令會抓取本機的第三個 interface 此時的累計流入資料量
指令參數說明請自行參考 man page.
$ snmpget localhost public .1.3.6.1.2.1.2.2.1.10.3
interfaces.ifTable.ifEntry.ifInOctets.3 = Counter32: 75525183
抓到資料後需自行計算兩次抓取期間內的平均流量.
如果想要更動態的話, 建議自行撰寫 promiscuous mode 程式來讀取
封包流量資訊, 這樣可以更有效率地調整各User的頻寬使用率.