国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于網(wǎng)卡的流量監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)

2014-04-29 23:39:51藍(lán)敏
電腦迷 2014年13期
關(guān)鍵詞:網(wǎng)卡流量監(jiān)控

藍(lán)敏

摘 要 本文對系統(tǒng)的本機基本信息查詢、流量監(jiān)控以及進(jìn)程顯示三個功能進(jìn)行詳細(xì)的設(shè)計及描述,并對系統(tǒng)實現(xiàn)的代碼及界面進(jìn)行介紹。

關(guān)鍵詞 網(wǎng)卡 流量 監(jiān)控

中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A

目前的網(wǎng)絡(luò)監(jiān)控軟件,如360安全衛(wèi)士的網(wǎng)絡(luò)監(jiān)控、網(wǎng)路崗等都是針對網(wǎng)絡(luò)流量的,而網(wǎng)絡(luò)流量跟網(wǎng)卡流量是有區(qū)別的,對于個人用戶來說,網(wǎng)卡流量的狀態(tài)也可以從一定程度上體現(xiàn)帶寬使用的情況。本系統(tǒng)采用面向?qū)ο蟮能浖_發(fā)辦法,以Microsoft公司的可視化集成開發(fā)環(huán)境 Visual Studio .Net 作為開發(fā)平臺,以C#作為開發(fā)語言實現(xiàn)網(wǎng)卡流量監(jiān)控的功能。

1功能設(shè)計

(1)本機基本信息查詢:查看IP地址:主要查看本機在局域網(wǎng)內(nèi)中的IP地址;查看主機名:用于查看本機計算機的名稱;查看MAC地址:查看網(wǎng)卡的唯一地址。

(2)流量監(jiān)控:獲取到本機的網(wǎng)卡列表,然后針對某塊網(wǎng)卡進(jìn)行動態(tài)的流量監(jiān)控,并顯示出來。

2 功能實現(xiàn)

2.1 本地信息查詢功能實現(xiàn)

(1)查詢IP地址:這個功能需要使用到 System.Net命名空間,在C#編程中,可利用它提供的DNS類獲取IP地址,主要代碼如下:

IPAddress[] addresslist=Dns.GetHostAddresses(Dns.GetHostName());

for (int i = 1; i < addresslist.Length; i++)

{ipaddress += addresslist[i].ToString() + "";}

tbIP.Text = ipaddress.ToString() + "";

上面的代碼就是利用了DNS類,它主要是從域名系統(tǒng)中查找關(guān)于指定主機的信息,通過Dns.GetHostAddresses(Dns.GetHostName())得到指定主機的IP地址,并把它賦予IPAddress[]類中的變量,再把它在文本框中顯示出來。

(2)查詢主機名:這部分功能與上面的IP地址功能類似,也通過System.Net命名空間和DNS類來從域名系統(tǒng)中獲得主機名,最主要的還是通過DNS類來實現(xiàn)。

(3)查詢MAC地址:在獲取本地MAC地址時,可以使用WMI規(guī)范,在.NET框架中,WMI規(guī)范的實現(xiàn)定義在System.Management命名空間中,但要使用該命名空間就必須先引用該程序指令集,所以在右側(cè)右擊引用,選擇添加引用,在.NET中找到System.Management即可。主要代碼如下:

ManagementObjectCollection mc = mac.GetInstances();

{if ((bool)m["IPEnabled"] == true)

tbMAC.Text += m["MacAddress"].ToString() + "\n";

m.Dispose();}

通過ManagementClass類來提取MAC地址信息,再用ManagementObjectCollection類來檢索并返回對象的集合,通過循環(huán)來找到MAC地址字段值,并在文本框中顯示。

2.2 流量監(jiān)控功能的實現(xiàn)

這個模塊的功能也可分為兩個小模塊,分別是獲取網(wǎng)卡列表和對指定的網(wǎng)卡進(jìn)行流量監(jiān)控。

(1)獲取網(wǎng)卡列表

主要代碼如下:

monitor = new NetworkMonitor();

if (adapters.Length == 0)

{this.listadapters.Enabled = false;

return;}

this.listadapters.Items.AddRange(this.adapters);

(2)監(jiān)控指定的網(wǎng)卡

if (this.listadapters.SelectedIndex < 0)

{MessageBox.Show("請指定要監(jiān)控的網(wǎng)卡", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

this.timercounter.Stop();

}

else

this.timercounter.Start();

上述代碼是防止在沒有選擇網(wǎng)卡項的情況下而實現(xiàn)的,if語句判斷有沒有選中指定的網(wǎng)卡,如果沒有選擇,則this.listadapters.SelectedIndex等于-1,即小于0,反之就會觸發(fā)計數(shù)器對指定網(wǎng)卡進(jìn)行監(jiān)控。

NetworkAdapter adapter = this.adapters[this.listadapters.SelectedIndex];

this.down.Text=string.Format("{0:n}kbps",adapter.DownloadSpeedKbps;

nsc1.Value = (int)adapter.UploadSpeed / 100;

nsc2.Value = (int)adapter.DownloadSpeed / 100;

上面一部分也是通過調(diào)用monitor.StopMonitoring()和monitor.StartMonitoring()來實現(xiàn)對列表框中的指定網(wǎng)卡進(jìn)行監(jiān)控,中間的命令是當(dāng)選中指定網(wǎng)卡后開始執(zhí)行監(jiān)控,調(diào)用計數(shù)器,在這個過程中,又通過調(diào)用format把NetworkMonitor中的adapter.UploadSpeedKbps(上傳流量)和adapter.DownloadSpeedKbps(下載流量)轉(zhuǎn)換成{0:n} kbps格式,并且把流量在波形控件中顯示,從而實現(xiàn)對指定網(wǎng)卡的流量監(jiān)控。

參考文獻(xiàn)

[1] 陸晟,龔儉.網(wǎng)絡(luò)安全監(jiān)測的集成管理[J].東南大學(xué)學(xué)報,2009(05).

猜你喜歡
網(wǎng)卡流量監(jiān)控
在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
冰墩墩背后的流量密碼
玩具世界(2022年2期)2022-06-15 07:35:36
The Great Barrier Reef shows coral comeback
張曉明:流量決定勝負(fù)!三大流量高地裂變無限可能!
尋找書業(yè)新流量
出版人(2020年4期)2020-11-14 08:34:26
你被監(jiān)控了嗎?
Zabbix在ATS系統(tǒng)集中監(jiān)控中的應(yīng)用
Server 2016網(wǎng)卡組合模式
看監(jiān)控攝像機的4K之道
挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
宝兴县| 湘阴县| 壤塘县| 开江县| 灌阳县| 太谷县| 怀集县| 探索| 延津县| 年辖:市辖区| 莱西市| 山丹县| 新安县| 九龙坡区| 博湖县| 高雄市| 衡东县| 黄浦区| 巴彦淖尔市| 嘉鱼县| 高青县| 忻州市| 尉犁县| 海南省| 灯塔市| 富平县| 自贡市| 连城县| 永和县| 元谋县| 安溪县| 丰宁| 莱芜市| 秀山| 文登市| 康马县| 阿克| 定西市| 黄山市| 闸北区| 女性|