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

?

流量監(jiān)控系統(tǒng)的研究與設(shè)計(jì)

2012-08-15 00:54:11余翀翀
科技視界 2012年12期
關(guān)鍵詞:網(wǎng)絡(luò)流量數(shù)據(jù)包流量

余翀翀

(華僑大學(xué)網(wǎng)絡(luò)與教育技術(shù)中心 福建 廈門 361021)

0 引言

目前,業(yè)界相關(guān)的研究基本都是通過(guò)對(duì)數(shù)據(jù)流量進(jìn)行分析,找出可以真實(shí)反映網(wǎng)絡(luò)的數(shù)學(xué)模型,例如自相似模型,但仍然不能全面客觀地反映網(wǎng)絡(luò)的真實(shí)狀態(tài)。事實(shí)上,要達(dá)到對(duì)網(wǎng)絡(luò)性能的有效監(jiān)測(cè),獲得真實(shí)的流量數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行詳細(xì)的定性定量分析,才是真正有效的方法。流量測(cè)量還可以實(shí)現(xiàn)監(jiān)測(cè)擁塞鏈路,拒絕服務(wù)攻擊,滿足服務(wù)等級(jí)的QoS策略等功能。因此,研究并實(shí)現(xiàn)相應(yīng)的監(jiān)控系統(tǒng)是至關(guān)緊要的。

網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)對(duì)網(wǎng)絡(luò)內(nèi)到達(dá)本地服務(wù)器的所有數(shù)據(jù)包進(jìn)行分析,掌握當(dāng)前網(wǎng)絡(luò)總流量,同時(shí)可以根據(jù)不同的需要對(duì)特定端口或特定外部地址進(jìn)行監(jiān)視,防止非法入侵,以保障本地網(wǎng)絡(luò)系統(tǒng)的安全和穩(wěn)定。[1]網(wǎng)絡(luò)監(jiān)控能使系統(tǒng)及時(shí)地發(fā)現(xiàn)網(wǎng)絡(luò)流量異常的現(xiàn)象,使服務(wù)器在發(fā)現(xiàn)非法入侵后能立即做出反應(yīng),來(lái)保護(hù)自己的服務(wù)器不被破壞,以求獲得安全性的同時(shí),提高網(wǎng)絡(luò)性能。

1 Winpcap網(wǎng)絡(luò)編程介紹

(1)捕獲原始數(shù)據(jù)包,包括在共享網(wǎng)絡(luò)上各主機(jī)的交換數(shù)據(jù)包;

(2)在數(shù)據(jù)包發(fā)往應(yīng)用程序之前,過(guò)濾掉某些特殊的數(shù)據(jù)包;

(3)發(fā)送原始的數(shù)據(jù)包;

(4)收集網(wǎng)絡(luò)通信過(guò)程中的統(tǒng)計(jì)信息。

Winpcap用于windows系統(tǒng)下的直接的網(wǎng)絡(luò)編程。大多數(shù)網(wǎng)絡(luò)應(yīng)用程序訪問(wèn)網(wǎng)絡(luò)是通過(guò)廣泛使用的套接字。這種方法很容易實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸,因?yàn)椴僮飨到y(tǒng)負(fù)責(zé)底層的細(xì)節(jié)(比如協(xié)議棧,數(shù)據(jù)流組裝等)以及提供了類似于文件讀寫的函數(shù)接口。Winpcap的主要功能在于獨(dú)立于主機(jī)協(xié)議 (如TCP-IP)而發(fā)送和接收原始數(shù)據(jù)報(bào)。Winpcap的組成主要由三個(gè)模塊組成。第一個(gè)模塊NPF(Netgroup Packet Filter),是一個(gè)虛擬設(shè)備驅(qū)動(dòng)程序。它的功能是過(guò)濾數(shù)據(jù)包,并把這些數(shù)據(jù)包原封不動(dòng)地傳給用戶態(tài)模塊,這個(gè)過(guò)程中包括了一些操作系統(tǒng)特有的代碼。第二個(gè)模塊packet.dll為win32平臺(tái)提供了一個(gè)公共的接口。不同版本的Windows系統(tǒng)都有自己的內(nèi)核模塊和用戶層模塊。Packet.dll用于解決這些不同。調(diào)用Packet.dll的程序可以運(yùn)行在不同版本的Windows平臺(tái)上,而無(wú)需重新編譯。第三個(gè)模塊Wpcap.dll是不依賴于操作系統(tǒng)的。它提供了更加高層、抽象的函數(shù)。packet.dll直接映射了內(nèi)核的調(diào)用。Wpcap.dll提供了更加友好、功能更加強(qiáng)大的函數(shù)調(diào)用[2]。

2 網(wǎng)絡(luò)監(jiān)控系統(tǒng)詳細(xì)設(shè)計(jì)

根據(jù)流量分析系統(tǒng)的開(kāi)發(fā)目的及設(shè)計(jì)目標(biāo),將系統(tǒng)定位于一個(gè)包含數(shù)據(jù)包捕獲分析和數(shù)據(jù)存儲(chǔ)、實(shí)時(shí)監(jiān)控、數(shù)據(jù)查詢與報(bào)警三個(gè)模塊。

其中,捕獲分析模塊是系統(tǒng)的后臺(tái)運(yùn)行程序,通過(guò)使用Winpcap協(xié)議,對(duì)通過(guò)所監(jiān)聽(tīng)的網(wǎng)絡(luò)適配器的所有數(shù)據(jù)包進(jìn)行捕獲。這一部分主要采用C語(yǔ)言來(lái)編寫,屬于一些底層的操作,并且沒(méi)有對(duì)所捕獲的數(shù)據(jù)進(jìn)行顯示,而是通過(guò)前臺(tái)用戶界面調(diào)用數(shù)據(jù)庫(kù)數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)監(jiān)控功能。數(shù)據(jù)存儲(chǔ)是基于前一個(gè)捕獲分析模塊所捕獲并且分析過(guò)的數(shù)據(jù)包,對(duì)得到分析結(jié)果的數(shù)據(jù)包進(jìn)行分類統(tǒng)計(jì)(基于不同網(wǎng)絡(luò)協(xié)議或者不同網(wǎng)絡(luò)服務(wù)),并把統(tǒng)計(jì)的結(jié)果存入到MySQL數(shù)據(jù)庫(kù)中,以供前臺(tái)顯示程序調(diào)用[3]。該模塊主要的任務(wù)就是MySQL數(shù)據(jù)庫(kù)中建立好用于存儲(chǔ)捕獲分析模塊分析所得的結(jié)果的數(shù)據(jù)庫(kù)及指定的表格,建立好Visual C++對(duì)MySQL數(shù)據(jù)庫(kù)的連接,最后就是將所得的結(jié)果存入指定的數(shù)據(jù)庫(kù)中。

實(shí)時(shí)監(jiān)控模塊主要分?jǐn)?shù)字監(jiān)控和圖形監(jiān)控兩個(gè)部分。其中數(shù)字監(jiān)控主要通過(guò)連接數(shù)據(jù)庫(kù),每秒刷新一次數(shù)據(jù)庫(kù)數(shù)據(jù)然后將查詢所得的數(shù)據(jù)分類在前臺(tái)顯示實(shí)現(xiàn)實(shí)時(shí)監(jiān)控,而圖形監(jiān)控是采用柱狀圖的形式顯示用戶計(jì)算機(jī)當(dāng)前的輸出流量、輸入流量、總流量,也是每秒刷新一次數(shù)據(jù)。

數(shù)據(jù)查詢與報(bào)警模塊主要實(shí)現(xiàn)對(duì)后臺(tái)捕獲程序捕獲的所有歷史數(shù)據(jù)包進(jìn)行分類查詢,并且通過(guò)報(bào)警設(shè)置子模塊對(duì)滿足設(shè)置的數(shù)據(jù)進(jìn)行篩選查詢,如果發(fā)現(xiàn)數(shù)據(jù)異常,將提供報(bào)警功能 (如提示用戶可能遭受UDP、ICMP等洪水攻擊)以便用戶采取相應(yīng)的措施。

投影2:設(shè)直線ax-y+3=0與圓(x-1)2+(y-2)2=4相交于A、B兩點(diǎn),若弦AB的長(zhǎng)為則a=________.

3 網(wǎng)絡(luò)數(shù)據(jù)包的捕獲分析研究

流量分析系統(tǒng)中數(shù)據(jù)包的捕獲主要是通過(guò)調(diào)用Winpcap協(xié)議來(lái)捕獲數(shù)據(jù)包的。Winpacp作為一個(gè)網(wǎng)絡(luò)底層的驅(qū)動(dòng),提供了許多的API供開(kāi)發(fā)人員調(diào)用,這些API提供了許多不同的功能,通過(guò)這些API可以實(shí)現(xiàn)諸多的功能,包括從簡(jiǎn)單的基本功能(如獲取網(wǎng)卡的列表,數(shù)據(jù)包的捕獲等)到統(tǒng)計(jì)和收集網(wǎng)絡(luò)流量等高級(jí)功能[3]。

捕獲數(shù)據(jù)包的具體具體實(shí)現(xiàn)如下:

(1)獲得網(wǎng)絡(luò)接口列表

通常,一個(gè)基于WinPcap的應(yīng)用程序所要做的第一件事,就是獲得適合的網(wǎng)絡(luò)接口的列表.Libpcap中的pcap_findalldevs()函數(shù)就是用來(lái)獲得適合的網(wǎng)絡(luò)接口的列表的,返回一個(gè)pcap_if結(jié)構(gòu)的列表。

(2)打開(kāi)捕捉設(shè)備

使用函數(shù)pcap_open_live()來(lái)打開(kāi)一個(gè)捕捉設(shè)備函數(shù)原型,在本系統(tǒng)中將此參數(shù)設(shè)置為1000,即系統(tǒng)捕獲數(shù)據(jù)包進(jìn)行分析統(tǒng)計(jì)的時(shí)間間隔是1秒。流量監(jiān)控系統(tǒng)監(jiān)控所得的結(jié)果都是每秒鐘通過(guò)的數(shù)據(jù)包的流量。

(3)設(shè)置過(guò)濾器

過(guò)濾數(shù)據(jù)的函數(shù)是pcap_compile()和pcap_setfilter()來(lái)實(shí)現(xiàn)的pcap_compile()和pcap_setfilter()是用來(lái)編輯過(guò)濾器和設(shè)置過(guò)濾器的pcap_compile()來(lái)編譯一個(gè)過(guò)濾設(shè)備,它通過(guò)一個(gè)高層的boolean型變量和字串產(chǎn)生一系列的能夠被底層驅(qū)動(dòng)所解釋的二進(jìn)制編碼。boolean表示語(yǔ)法能夠在這個(gè)文件的過(guò)濾表示語(yǔ)法中找到。pcap_setfilter()用來(lái)聯(lián)系一個(gè)在內(nèi)核驅(qū)動(dòng)上過(guò)濾的過(guò)濾器,這時(shí)所有網(wǎng)絡(luò)數(shù)據(jù)包都將流經(jīng)過(guò)濾器,并拷貝到應(yīng)用程序中。

(4)捕捉數(shù)據(jù)包

pcap_dispatch()或者pcap_loop()函數(shù)都可以用來(lái)捕捉數(shù)據(jù)包。這兩個(gè)函數(shù)非常相似,pcap_dispatch()將會(huì)在超時(shí)后直接返回,而pcap_loop()則一定要等到一定數(shù)量的數(shù)據(jù)包被處理了以后才會(huì)返回,也可以用pcap_next_ex()來(lái)代替pcap_loop()來(lái)捕獲數(shù)據(jù)包。

(5)保存捕獲的數(shù)據(jù)包

WINPCAP為我們提供了很多API來(lái)將流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)包保存到一個(gè)堆文件并讀取堆的內(nèi)容。系統(tǒng)中采用pcap_live_dump將數(shù)據(jù)寫到文件。pcap_live_dump有三個(gè)參數(shù):一個(gè)文件名,和一個(gè)該文件允許的最大長(zhǎng)度還有一個(gè)參數(shù)是該文件所允許的最大包的數(shù)量。對(duì)這些參數(shù)來(lái)說(shuō)0意味著沒(méi)有最大限制。

這里,我們可以在調(diào)用pcap_live_dump()前設(shè)置一個(gè)過(guò)濾器來(lái)定義哪些數(shù)據(jù)報(bào)需要存儲(chǔ),并且可以用pcap_live_dump_ended()來(lái)等檢查是否數(shù)據(jù)存儲(chǔ)完畢。

(6)收集網(wǎng)絡(luò)流量的統(tǒng)計(jì)信息

WinPcap的另一高級(jí)功能:收集網(wǎng)絡(luò)流量的統(tǒng)計(jì)信息。程序必須打開(kāi)一個(gè)網(wǎng)卡并用pcap_setmode()將其設(shè)置為統(tǒng)計(jì)模式。在統(tǒng)計(jì)模式下編寫一個(gè)程序來(lái)監(jiān)視TCP流量只是幾行代碼的事情在設(shè)置為統(tǒng)計(jì)模式前可以設(shè)置一個(gè)過(guò)濾器來(lái)指定要捕獲的協(xié)議包。

4 結(jié)束語(yǔ)

流量分析系統(tǒng)已經(jīng)基本上達(dá)到預(yù)期的要求,能夠在個(gè)人系統(tǒng)中測(cè)試使用,可以正常地監(jiān)視網(wǎng)絡(luò)的流量狀況,對(duì)通過(guò)網(wǎng)絡(luò)適配器的數(shù)據(jù)包進(jìn)行捕獲、分析、統(tǒng)計(jì)、顯示、保存結(jié)果、數(shù)據(jù)查詢。由于時(shí)間和技術(shù)上的原因還存在著一些沒(méi)有解決好的問(wèn)題。例如,實(shí)時(shí)監(jiān)控中的圖形監(jiān)控,沒(méi)有將各種協(xié)議包分開(kāi)監(jiān)控而是對(duì)用戶計(jì)算機(jī)的所有輸出、輸入、總流量進(jìn)行監(jiān)控,比較籠統(tǒng)沒(méi)有達(dá)到預(yù)期效果,需要在今后系統(tǒng)的完善中加以解決。

[1]鄭成興.網(wǎng)絡(luò)流量預(yù)測(cè)方法和實(shí)際預(yù)測(cè)分析[D].北京:北京第二外國(guó)語(yǔ)學(xué)院教育技術(shù)中心,2006.

[2]翁劍鋒.網(wǎng)絡(luò)綜合監(jiān)控技術(shù)[D].上海:復(fù)旦光華,2006.

[3]黃慶炬,梅清.基于IP的網(wǎng)絡(luò)監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].湖北:湖北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,2006.

猜你喜歡
網(wǎng)絡(luò)流量數(shù)據(jù)包流量
基于多元高斯分布的網(wǎng)絡(luò)流量異常識(shí)別方法
冰墩墩背后的流量密碼
玩具世界(2022年2期)2022-06-15 07:35:36
張曉明:流量決定勝負(fù)!三大流量高地裂變無(wú)限可能!
基于神經(jīng)網(wǎng)絡(luò)的P2P流量識(shí)別方法
尋找書(shū)業(yè)新流量
出版人(2020年4期)2020-11-14 08:34:26
SmartSniff
AVB網(wǎng)絡(luò)流量整形幀模型端到端延遲計(jì)算
基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
五位一體流量平穩(wěn)控制系統(tǒng)
網(wǎng)絡(luò)流量監(jiān)控對(duì)網(wǎng)絡(luò)安全治理的重要性
河南科技(2014年23期)2014-02-27 14:18:43
留坝县| 芜湖县| 玛沁县| 友谊县| 扬中市| 同江市| 大同市| 扶绥县| 新野县| 聂拉木县| 奉化市| 永州市| 东光县| 海盐县| 彩票| 江西省| 乳山市| 屏南县| 龙岩市| 苍溪县| 冕宁县| 巢湖市| 翼城县| 河西区| 永靖县| 呈贡县| 雅安市| 云梦县| 卓资县| 区。| 阳西县| 丰台区| 邵阳市| 建昌县| 隆昌县| 佛教| 萝北县| 汪清县| 无极县| 延庆县| 唐海县|