基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第1頁(yè)
基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第2頁(yè)
基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第3頁(yè)
基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第4頁(yè)
基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、本科畢業(yè)論文(科研訓(xùn)練、畢業(yè)設(shè)計(jì))題 目:基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)姓 名:學(xué) 院:軟件學(xué)院專 業(yè):軟件工程年 級(jí):學(xué) 號(hào):指導(dǎo)教師校內(nèi): 職稱: 年 月基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)【 摘要 】 當(dāng)今社會(huì),計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)影響到社會(huì)的政治、經(jīng)濟(jì)、文化、軍事和生活的各個(gè)方面,然而網(wǎng)絡(luò)給社會(huì)帶來(lái)便利的同時(shí)也隨之帶來(lái)了平安和管理問(wèn)題。隨著計(jì)算機(jī)網(wǎng)絡(luò)越來(lái)越復(fù)雜,網(wǎng)絡(luò)管理己變得日益重要。例如對(duì)一個(gè)企業(yè)而言有些員工利用工作時(shí)間看新聞、玩游戲、聊天、聽(tīng)歌曲等等。這不僅消耗公司資源,而且影響公司效率、泄露公司機(jī)密、甚至喪失客戶資源。網(wǎng)絡(luò)流量分析系統(tǒng)作為網(wǎng)絡(luò)管理的一個(gè)重要的根底系統(tǒng),對(duì)網(wǎng)絡(luò)的流量進(jìn)行實(shí)時(shí)的監(jiān)控,為后

2、續(xù)的網(wǎng)絡(luò)管理工作,網(wǎng)絡(luò)黑客攻擊防范工作起到了最重要的作用。我們所設(shè)計(jì)的基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)是基于Winpcap 進(jìn)行開(kāi)發(fā)的,采用Visual C+作為開(kāi)發(fā)平臺(tái),MySQL 作為后臺(tái)的數(shù)據(jù)庫(kù)管理系統(tǒng),提供良好的用戶管理界面,可以實(shí)現(xiàn)對(duì)本地網(wǎng)絡(luò)流量的實(shí)時(shí)監(jiān)控包括數(shù)字監(jiān)控,流量監(jiān)控等,從而對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分析,并提供異常流量的報(bào)警功能?!?關(guān)鍵詞 】網(wǎng)絡(luò)監(jiān)控 流量分析 WinpcapThe network traffic monitoring system based on the analysis【 Abstract 】 Nowdays, the computer network has al

3、ready affected the political, economic, cultural, military and all aspects of social life,the computer network brings the convenience to the society however it brings security and management questions at the same time. As computer networks become more complex, network management has become increasin

4、gly. For example some staffs using the operating time read the news, play computer games, chat, listen to the song and so on. This not only consumption company resources, moreover the influence company efficiency, the revelation company secret, even loses the customer resources. Network flow analysi

5、s system, as an important foundation system of the network management, conducts a real-time monitoring to the network flow control, plays the most important role in the follow-up management of the network and network hackerscrime prevention. Based on the analysis of the network traffic monitoring sy

6、stem we designed is based on the Winpcap to develop, uses Visual C+ as a development platform, MySQL as the background database management system. It can achieved on real-time monitoring and statistical analysis on Local network flow,and provide exceptional flow warning function. 【 Key words 】 Netwo

7、rk monitoring Flow analysis Winpcap目錄 TOC o 1-3 h z u HYPERLINK l _Toc168689812 第一章 引言7 HYPERLINK l _Toc168689813 1.1網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的研究意義1 27 HYPERLINK l _Toc168689814 1.2 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的研究?jī)?nèi)容8 HYPERLINK l _Toc168689815 1.3 論文的組織結(jié)構(gòu)8 HYPERLINK l _Toc168689816 第二章 根本概念介紹9 HYPERLINK l _Toc168689817 2.1 Winpcap 協(xié)議介紹3

8、9 HYPERLINK l _Toc168689818 2.1.1 Winpcap 概念9 HYPERLINK l _Toc168689819 2.1.2 Winpcap 的功能及應(yīng)用 PAGEREF _Toc168689819 h 10 HYPERLINK l _Toc168689820 2.1.3 Winpcap進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和過(guò)濾的步驟 PAGEREF _Toc168689820 h 11 HYPERLINK l _Toc168689821 2.2以太網(wǎng) PAGEREF _Toc168689821 h 11 HYPERLINK l _Toc168689822 以太網(wǎng)根本概念 PAG

9、EREF _Toc168689822 h 11 HYPERLINK l _Toc168689823 網(wǎng)絡(luò)數(shù)據(jù)包捕獲的原理 PAGEREF _Toc168689823 h 13 HYPERLINK l _Toc168689824 2.3 Visual C+ 介紹4 PAGEREF _Toc168689824 h 13 HYPERLINK l _Toc168689825 2.4 MySQL 簡(jiǎn)介 PAGEREF _Toc168689825 h 14 HYPERLINK l _Toc168689826 2.5拒絕效勞攻擊簡(jiǎn)介6 7 PAGEREF _Toc168689826 h 16 HYPERLI

10、NK l _Toc168689827 第三章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc168689827 h 18 HYPERLINK l _Toc168689828 3.1 系統(tǒng)開(kāi)發(fā)目的及設(shè)計(jì)目標(biāo) PAGEREF _Toc168689828 h 18 HYPERLINK l _Toc168689829 3.2 系統(tǒng)整體設(shè)計(jì)思想 PAGEREF _Toc168689829 h 18 HYPERLINK l _Toc168689830 3.3 后臺(tái)捕獲分析模塊詳細(xì)設(shè)計(jì)5 PAGEREF _Toc168689830 h 20 HYPERLINK l _Toc168689831 3.3.1 數(shù)據(jù)

11、包的捕獲原理 PAGEREF _Toc168689831 h 20 HYPERLINK l _Toc168689832 3.3.2 對(duì)捕獲的數(shù)據(jù)包的分析 PAGEREF _Toc168689832 h 21 HYPERLINK l _Toc168689833 3.3.3 將分析的結(jié)果存入數(shù)據(jù)庫(kù) PAGEREF _Toc168689833 h 22 HYPERLINK l _Toc168689834 3.4 流量分析系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc168689834 h 23 HYPERLINK l _Toc168689835 3.4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)對(duì)整個(gè)系統(tǒng)的影響 PAGEREF _

12、Toc168689835 h 23 HYPERLINK l _Toc168689836 3.4.2 數(shù)據(jù)庫(kù)的需求分析 PAGEREF _Toc168689836 h 23 HYPERLINK l _Toc168689837 3.4.3 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì) PAGEREF _Toc168689837 h 23 HYPERLINK l _Toc168689838 3.5 前臺(tái)圖形顯示模塊設(shè)計(jì) PAGEREF _Toc168689838 h 24 HYPERLINK l _Toc168689839 3.6 對(duì)異常流量的報(bào)警 PAGEREF _Toc168689839 h 25 HYPERLINK l

13、_Toc168689840 3.7 系統(tǒng)實(shí)現(xiàn)效果圖 PAGEREF _Toc168689840 h 25 HYPERLINK l _Toc168689841 第四章 總結(jié)29 HYPERLINK l _Toc168689842 致謝 PAGEREF _Toc168689842 h 30 HYPERLINK l _Toc168689843 參考文獻(xiàn) PAGEREF _Toc168689843 h 31Contents TOC o 1-3 h z u HYPERLINK l _Toc168594119 Chapter 1 Introduction7 HYPERLINK l _Toc16859412

14、0 1.1 The significance of database design for flow analysis system7 HYPERLINK l _Toc168594121 1.2 The content of database design for flow analysis system8 HYPERLINK l _Toc168594122 1.3 The organizational structure of paper8 HYPERLINK l _Toc168594123 Chapter 2 Basic concept9 HYPERLINK l _Toc168594124

15、 2.1 Winpcap profile9 HYPERLINK l _Toc168594125 2.1.1 Winpcap concept9 HYPERLINK l _Toc168594126 2.1.2 Winpcap function and application PAGEREF _Toc168594126 h 10 HYPERLINK l _Toc168594127 2.1.3 The step of the Winpcap11 HYPERLINK l _Toc168594128 2.2 Ethernet profiles11 HYPERLINK l _Toc168594129 2.2

16、.1 Ethernet basic concept 11 HYPERLINK l _Toc168594130 The network principles of packet capture13 HYPERLINK l _Toc168594131 2.3 Visual C+ profile13 HYPERLINK l _Toc168594132 2.4 MySQL profile14 HYPERLINK l _Toc168594133 2.5 Dos profile16 HYPERLINK l _Toc168594134 Chapter 3 Detailed design and the re

17、alization of the system18 HYPERLINK l _Toc168594135 3.1 Systems development goals and design objectives18 HYPERLINK l _Toc168594136 3.2 Sytem overall design18 HYPERLINK l _Toc168594137 3.3 Detailed design for background capture analysis module20 HYPERLINK l _Toc168594138 3.3.1 The principles of pack

18、et capture20 HYPERLINK l _Toc168594139 3.3.2 Analysis of data packets21 HYPERLINK l _Toc168594140 3.3.3 Analysis results store22 HYPERLINK l _Toc168594141 3.4 Database design for flow analysis system23 HYPERLINK l _Toc168594142 3.4.1 Implications for the system23 HYPERLINK l _Toc168594143 3.4.2 Data

19、base needs analysis23 HYPERLINK l _Toc168594144 3.4.3 Database logic design23 HYPERLINK l _Toc168594145 3.5 Graphics modular design24 HYPERLINK l _Toc168594146 3.6 Warning of the abnormal25 HYPERLINK l _Toc168594147 3.7 System achieve results pictures25 HYPERLINK l _Toc168594148 Chapter 4 Conclusion

20、29 HYPERLINK l _Toc168594149 Acknowledgement30 HYPERLINK l _Toc168594150 References31第一章 引言1.1網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的研究意義1 2自20世紀(jì)90年代以來(lái),隨著Internet在全世界范圍的普及,計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)逐漸成為了人們獲取信息、發(fā)布信息的重要途徑。全世界的計(jì)算機(jī)都將通過(guò)Internet聯(lián)到一起,這些網(wǎng)絡(luò)的開(kāi)展使得大到國(guó)家經(jīng)濟(jì)命脈小到個(gè)人日常生活嚴(yán)重依賴于計(jì)算機(jī)網(wǎng)絡(luò)??梢哉f(shuō),計(jì)算機(jī)網(wǎng)絡(luò),作為新世紀(jì)的重要工具,已經(jīng)滲透到了社會(huì)生活中的各個(gè)領(lǐng)域,對(duì)我們的工作、學(xué)習(xí)、娛樂(lè)、經(jīng)濟(jì), 以及生活中的各個(gè)方面,都有著

21、深遠(yuǎn)的影響。同時(shí),隨著人們對(duì)網(wǎng)絡(luò)信息系統(tǒng)以來(lái)的日益增強(qiáng),網(wǎng)絡(luò)正在逐步改變?nèi)藗兊墓ぷ鞣绞胶蜕罘绞剑蔀楫?dāng)今社會(huì)開(kāi)展的一個(gè)主題。在人類進(jìn)入信息化時(shí)代的今天,人們對(duì)信息的平安傳輸、平安存儲(chǔ)、平安處理的要求越來(lái)越顯得十分迫切和重要,它不僅關(guān)系到戰(zhàn)爭(zhēng)的勝負(fù),國(guó)家的安危,科技的進(jìn)步,經(jīng)濟(jì)的開(kāi)展,而且也關(guān)系到每個(gè)人的切身利益。但是,網(wǎng)絡(luò)成為一把雙刃劍,隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的開(kāi)展,各類網(wǎng)絡(luò)規(guī)模的擴(kuò)大,遠(yuǎn)程訪問(wèn)的增加,虛擬專用網(wǎng)VPN的出現(xiàn)和Internet 的普及,隨之而來(lái)的就是網(wǎng)絡(luò)的平安性問(wèn)題。計(jì)算機(jī)網(wǎng)絡(luò)在加速人類社會(huì)信息化的同時(shí),也給信息平安保障帶來(lái)了極大的挑戰(zhàn)。網(wǎng)絡(luò)犯罪已是屢見(jiàn)不鮮,呈逐年上升趨勢(shì)。因此

22、,隨著電子商務(wù)、電子現(xiàn)金、數(shù)字貨幣,網(wǎng)絡(luò)銀行等業(yè)務(wù)的興起以及各種專用網(wǎng)的建設(shè),伴隨著這些業(yè)務(wù)而產(chǎn)生的互聯(lián)網(wǎng)和網(wǎng)絡(luò)信息的平安問(wèn)題,也已成為人們關(guān)注的熱點(diǎn)問(wèn)題?;诹髁糠治龅木W(wǎng)絡(luò)監(jiān)控系統(tǒng),就是在這樣的背景下產(chǎn)生的。所有的有關(guān)于網(wǎng)絡(luò)平安監(jiān)控的系統(tǒng)及研究,都是以流量的監(jiān)控分析作為根底的,網(wǎng)絡(luò)流量分析是最根本、底層的工作,是網(wǎng)絡(luò)管理中最為根底的局部。在網(wǎng)絡(luò)流量分析的根底上,我們可以有效的監(jiān)控和分析網(wǎng)絡(luò)訪問(wèn)量,甚至拒絕各種黑客攻擊。它的主要意義在于實(shí)現(xiàn)了網(wǎng)絡(luò)監(jiān)控。隨著內(nèi)部網(wǎng)絡(luò)的規(guī)模與容量的日漸擴(kuò)大,保持系統(tǒng)的正常運(yùn)作將會(huì)變得越來(lái)越重要。網(wǎng)絡(luò)監(jiān)控能使系統(tǒng)及時(shí)地發(fā)現(xiàn)網(wǎng)絡(luò)流量異常的現(xiàn)象,使效勞器在發(fā)現(xiàn)非法入侵后

23、能立即做出反響,來(lái)保護(hù)自己的效勞器不被破壞,以求獲得平安性的同時(shí),提高網(wǎng)絡(luò)性能。1.2 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的研究?jī)?nèi)容在本課題中,基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)是以監(jiān)控用戶網(wǎng)絡(luò)流量情況、防范黑客攻擊進(jìn)行入侵檢測(cè)為主要目的而進(jìn)行開(kāi)發(fā)的?;赪inpcap 協(xié)議來(lái)完成網(wǎng)絡(luò)數(shù)據(jù)包的捕獲,通過(guò)對(duì)所捕獲數(shù)據(jù)包的內(nèi)容進(jìn)行統(tǒng)計(jì)分析,完成對(duì)網(wǎng)絡(luò)流量的監(jiān)控分析和對(duì)可能發(fā)生的拒絕效勞攻擊進(jìn)行檢測(cè)等功能。基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)是基于以太網(wǎng)進(jìn)行開(kāi)發(fā),利用Winpcap 協(xié)議進(jìn)行工作,采用Visual C+作為開(kāi)發(fā)平臺(tái),MySqL 作為后臺(tái)的數(shù)據(jù)庫(kù)管理系統(tǒng),提供良好的用戶管理界面,可以實(shí)現(xiàn)對(duì)本地網(wǎng)絡(luò)流量的實(shí)時(shí)監(jiān)控、統(tǒng)計(jì)分析

24、,并提供異常流量的報(bào)警功能,從而能對(duì)網(wǎng)絡(luò)中可能存在的拒絕效勞攻擊進(jìn)行檢測(cè)。系統(tǒng)使用C 語(yǔ)言編寫(xiě)后臺(tái)監(jiān)控程序和前臺(tái)的界面顯示,MySqL 作為流量分析系統(tǒng)的數(shù)據(jù)庫(kù)管理系統(tǒng),以MySql 數(shù)據(jù)庫(kù)作為前后臺(tái)交互的中間層。1.3 論文的組織結(jié)構(gòu)基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)的論文組織結(jié)構(gòu)如下: 從第二章起我將從以下幾個(gè)方面進(jìn)行說(shuō)明: 第二章、介紹流量分析系統(tǒng)根本的概念和相關(guān)的技術(shù)知識(shí); 第三章、介紹系統(tǒng)的詳細(xì)設(shè)計(jì)方案,實(shí)現(xiàn)方法和實(shí)驗(yàn)結(jié)果分析等; 第四章、全文總結(jié)。第二章 根本概念介紹由于本基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)是基于Winpcap 協(xié)議進(jìn)行開(kāi)發(fā),在以太網(wǎng)中進(jìn)行工作,采用Visual C+作為開(kāi)發(fā)平臺(tái),

25、MySQL 作為后臺(tái)的數(shù)據(jù)庫(kù)管理系統(tǒng),從而對(duì)網(wǎng)絡(luò)中的異常數(shù)據(jù)進(jìn)行檢測(cè)和報(bào)警,因此本章將從Winpcap協(xié)議、以太網(wǎng)、Visual C+、MySQL、拒絕效勞攻擊等幾個(gè)方面分別進(jìn)行介紹。2.1 Winpcap 協(xié)議介紹3 Winpcap 概念Winpcap是由伯克利分組捕獲庫(kù)派生而來(lái)的分組捕獲庫(kù),它是在Windows操作平臺(tái)上來(lái)實(shí)現(xiàn)對(duì)底層包的截取過(guò)濾。Winpcap為用戶級(jí)的數(shù)據(jù)包提供了Windows下的一個(gè)平臺(tái)。Winpcap是BPF模型和Libpcap函數(shù)庫(kù)在Windows平臺(tái)下網(wǎng)絡(luò)數(shù)據(jù)包捕獲和網(wǎng)絡(luò)狀態(tài)分析的一種體系結(jié)構(gòu),這個(gè)體系結(jié)構(gòu)是由一個(gè)核心的包過(guò)濾驅(qū)動(dòng)程序,一個(gè)底層的動(dòng)態(tài)連接庫(kù)Pack

26、et.dll和一個(gè)高層的獨(dú)立于系統(tǒng)的函數(shù)庫(kù)Libpcap組成。底層的包捕獲驅(qū)動(dòng)程序?qū)嶋H為一個(gè)協(xié)議網(wǎng)絡(luò)驅(qū)動(dòng)程序,通過(guò)對(duì)NDIS中函數(shù)的調(diào)用為Win95、Win98、WinNT、和Win2000提供一類似于UNIX系統(tǒng)下BerkeleyPacketFilter的捕獲和發(fā)送原始數(shù)據(jù)包的能力。Packet.dll是對(duì)這個(gè)BPF驅(qū)動(dòng)程序進(jìn)行訪問(wèn)的API接口,同時(shí)它有一套符合Libpcap接口UNIX下的捕獲函數(shù)庫(kù)的函數(shù)庫(kù)。Winpcap結(jié)構(gòu)如圖21所示:Winpcap包括三個(gè)局部:第一個(gè)模塊NPF(NetgroupPacketFilter),是一個(gè)虛擬設(shè)備驅(qū)動(dòng)程序文件。它的功能是過(guò)濾數(shù)據(jù)包,并把這些數(shù)據(jù)

27、包原封不動(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ù)。 圖21 Winpcap結(jié)構(gòu)圖packet.dll和Wpcap.dll:packet.dll那么直接映射了內(nèi)核的調(diào)用。Wpcap.dll提供了更加友好、功能更加強(qiáng)大的函數(shù)調(diào)用。Winpcap的優(yōu)勢(shì)提

28、供了一套標(biāo)準(zhǔn)的抓包接口,與libpcap兼容,可使得原來(lái)許多UNIX平臺(tái)下的網(wǎng)絡(luò)分析工具快速移植過(guò)來(lái)便于開(kāi)發(fā)各種網(wǎng)絡(luò)分析工具,充分考慮了各種性能和效率的優(yōu)化,包括對(duì)于NPF內(nèi)核層次上的過(guò)濾器支持,支持內(nèi)核態(tài)的統(tǒng)計(jì)模式,提供了發(fā)送數(shù)據(jù)包的能力。 Winpcap 的功能及應(yīng)用Winpcap 可以為為win32 應(yīng)用程序提供訪問(wèn)網(wǎng)絡(luò)底層的能力。它提供了以下的各項(xiàng)功能: (1) 捕獲原始數(shù)據(jù)包,包括在共享網(wǎng)絡(luò)上各主機(jī)發(fā)送/接收的以及相互之間交換的數(shù)據(jù)包; (2) 在數(shù)據(jù)包發(fā)往應(yīng)用程序之前,按照自定義的規(guī)那么將某些特殊的數(shù)據(jù)包過(guò)濾掉; (3) 在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)包; (4) 收集網(wǎng)絡(luò)通信過(guò)程中的統(tǒng)計(jì)

29、信息。 Winpcap進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和過(guò)濾的步驟Winpcap對(duì)數(shù)據(jù)包的捕獲大致流程如如圖22所示:(1)翻開(kāi)網(wǎng)卡,并設(shè)為混雜模式。(2回調(diào)函數(shù) Network Tap 在得到監(jiān)聽(tīng)命令后,從網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序處收集數(shù)據(jù)包把監(jiān)聽(tīng)到的數(shù)據(jù)包負(fù)責(zé)傳送給過(guò)濾程序。(3當(dāng) Packet filter 監(jiān)聽(tīng)到有數(shù)據(jù)包到達(dá)時(shí),NDIS 中間驅(qū)動(dòng)程序首先調(diào)用分組驅(qū)動(dòng)程序,該程序?qū)?shù)據(jù)傳遞給每一個(gè)參與進(jìn)程的分組過(guò)濾程序。(4然后由 Packet filter 過(guò)濾程序決定哪些數(shù)據(jù)包應(yīng)該丟棄,哪些數(shù)據(jù)包應(yīng)該接收,是否需要將接收到的數(shù)據(jù)拷貝到相應(yīng)的應(yīng)用程序。(5通過(guò)分組過(guò)濾器后,將數(shù)據(jù)未過(guò)濾掉的數(shù)據(jù)包提交給核心

30、緩沖區(qū)。然后等待系統(tǒng)緩沖區(qū)滿后,再將數(shù)據(jù)包拷貝到用戶緩沖區(qū)。監(jiān)聽(tīng)程序可以直接從用戶緩沖區(qū)中讀取捕獲的數(shù)據(jù)包。(6關(guān)閉網(wǎng)卡。圖22 Winpcap數(shù)據(jù)包捕獲流程2.2以太網(wǎng)2.2.1 以太網(wǎng)根本概念以太網(wǎng)是當(dāng)今現(xiàn)有局域網(wǎng)采用的最通用的通信協(xié)議標(biāo)準(zhǔn),組建于七十年代早期。Ethernet(以太網(wǎng)是一種傳輸速率為10Mbps 的常用局域網(wǎng)LAN標(biāo)準(zhǔn)。在以太網(wǎng)中,所有計(jì)算機(jī)被連接一條同軸電纜上,采用具有沖突檢測(cè)的載波感應(yīng)多處訪問(wèn)CSMA/CD方法,采用競(jìng)爭(zhēng)機(jī)制和總線拓樸結(jié)構(gòu)。根本上,以太網(wǎng)由共享傳輸媒體,如雙絞線電纜或同軸電纜和多端口集線器、網(wǎng)橋或交換機(jī)構(gòu)成。在星型或總線型配置結(jié)構(gòu)中,集線器/交換機(jī)/網(wǎng)

31、橋通過(guò)電纜使得計(jì)算機(jī)、打印機(jī)和工作站彼此之間相互連接。以太網(wǎng)具有的一般特征概述如下: 1共享媒體:所有網(wǎng)絡(luò)設(shè)備依次使用同一通信媒體。2播送域:需要傳輸?shù)膸话l(fā)送到所有節(jié)點(diǎn),但只有尋址到的節(jié)點(diǎn)才會(huì)接收到幀。3CSMA/CD:以太網(wǎng)中利用載波監(jiān)聽(tīng)多路訪問(wèn)/沖突檢測(cè)方法Carrier Sense Multiple Access/Collision Detection以防止twp 或更多節(jié)點(diǎn)同時(shí)發(fā)送。4MAC 地址:媒體訪問(wèn)控制層的所有Ethernet 網(wǎng)絡(luò)接口卡NIC都采用48 位網(wǎng)絡(luò)地址。這種地址全球唯一。Ethernet 根本網(wǎng)絡(luò)組成: 共享媒體和電纜:10BaseT雙絞線,10Base-2同軸

32、細(xì)纜,10Base-5同軸粗纜。轉(zhuǎn)發(fā)器或集線器:集線器或轉(zhuǎn)發(fā)器是用來(lái)接收網(wǎng)絡(luò)設(shè)備上的大量以太網(wǎng)連接的一類設(shè)備。通過(guò)某個(gè)連接的接收雙方獲得的數(shù)據(jù)被重新使用并發(fā)送到傳輸雙方中所有連接設(shè)備上,以獲得傳輸型設(shè)備。網(wǎng)橋:網(wǎng)橋?qū)儆诘诙釉O(shè)備,負(fù)責(zé)將網(wǎng)絡(luò)劃分為獨(dú)立的沖突域獲分段,到達(dá)能在同一個(gè)域/分段中維持播送及共享的目標(biāo)。網(wǎng)橋中包括一份涵蓋所有分段和轉(zhuǎn)發(fā)幀的表格,以確保分段內(nèi)及其周圍的通信行為正常進(jìn)行。交換機(jī):交換機(jī),與網(wǎng)橋相同,也屬于第二層設(shè)備,且是一種多端口設(shè)備。交換機(jī)所支持的功能類似于網(wǎng)橋,但它比網(wǎng)橋更具有的優(yōu)勢(shì)是,它可以臨時(shí)將任意兩個(gè)端口連接在一起。交換機(jī)包括一個(gè)交換矩陣,通過(guò)它可以迅速連接端口或

33、解除端口連接。與集線器不同,交換機(jī)只轉(zhuǎn)發(fā)從一個(gè)端口到其它連接目標(biāo)節(jié)點(diǎn)且不包含播送的端口的幀。以太網(wǎng)協(xié)議:IEEE 802.3 標(biāo)準(zhǔn)中提供了以太幀結(jié)構(gòu)。當(dāng)前以太網(wǎng)支持光纖和雙絞線媒體以太網(wǎng)支持下的四種傳輸速率: 10 Mbps 10Base-T Ethernet802.3 100 Mbps Fast Ethernet802.3u 1000 Mbps Gigabit Ethernet802.3z) 10 Gigabit Ethernet IEEE 802.3ae 網(wǎng)絡(luò)數(shù)據(jù)包捕獲的原理以太網(wǎng)Ethernet具有共享介質(zhì)的特征,信息是以明文的形式在網(wǎng)絡(luò)上傳輸,當(dāng)網(wǎng)絡(luò)適配器設(shè)置為監(jiān)聽(tīng)模式混雜模式,Pro

34、miscuous時(shí),由于采用以太網(wǎng)播送信道爭(zhēng)用的方式,使得監(jiān)聽(tīng)系統(tǒng)與正常通信的網(wǎng)絡(luò)能夠并聯(lián)連接,并可以捕獲任何一個(gè)在同一沖突域上傳輸?shù)臄?shù)據(jù)包。IEEE802.3 標(biāo)準(zhǔn)的以太網(wǎng)采用的是持續(xù) CSMA 的方式,正是由于以太網(wǎng)采用這種播送信道爭(zhēng)用的方式,使得各個(gè)站點(diǎn)可以獲得其他站點(diǎn)發(fā)送的數(shù)據(jù)。運(yùn)用這一原理使信息捕獲系統(tǒng)能夠攔截的我們所要的信息,這是捕獲數(shù)據(jù)包的物理根底。以太網(wǎng)是一種總線型的網(wǎng)絡(luò),從邏輯上來(lái)看是由一條總線和多個(gè)連接在總線上的站點(diǎn)所組成各個(gè)站點(diǎn)采用上面提到的 CSMA/CD 協(xié)議進(jìn)行信道的爭(zhēng)用和共享。每個(gè)站點(diǎn)這里特指計(jì)算機(jī)通過(guò)的接口卡網(wǎng)卡來(lái)實(shí)現(xiàn)這種功能。網(wǎng)卡主要的工作是完成對(duì)于總線當(dāng)前狀

35、態(tài)的探測(cè),確定是否進(jìn)行數(shù)據(jù)的傳送,判斷每個(gè)物理數(shù)據(jù)幀目的地是否為本站地址,如果不匹配,那么說(shuō)明不是發(fā)送到本站的而將它丟棄。如果是的話,接收該數(shù)據(jù)幀,進(jìn)行物理數(shù)據(jù)幀的 CRC 校驗(yàn),然后將數(shù)據(jù)幀提交給LLC 子層。網(wǎng)卡具有如下的幾種工作模式:1) 播送模式Broad Cast Model:它的物理地址MAC地址是 0Xffffff 的幀為播送幀,工作在播送模式的網(wǎng)卡接收播送幀。2多播傳送MultiCast Model:多播傳送地址作為目的物理地址的幀可以被組內(nèi)的其它主機(jī)同時(shí)接收,而組外主機(jī)卻接收不到。但是,如果將網(wǎng)卡設(shè)置為多播傳送模式,它可以接收所有的多播傳送幀,而不管它是不是組內(nèi)成員。3直接模

36、式Direct Model:工作在直接模式下的網(wǎng)卡只接收目地址是自己 Mac地址的幀。4混雜模式Promiscuous Model:工作在混雜模式下的網(wǎng)卡接收所有的流過(guò)網(wǎng)卡的幀,信包捕獲程序就是在這種模式下運(yùn)行的。網(wǎng)卡的缺省工作模式包含播送模式和直接模式,即它只接收播送幀和發(fā)給自己的幀。如果采用混雜模式,一個(gè)站點(diǎn)的網(wǎng)卡將接受同一網(wǎng)絡(luò)內(nèi)所有站點(diǎn)所發(fā)送的數(shù)據(jù)包這樣就可以到達(dá)對(duì)于網(wǎng)絡(luò)信息監(jiān)視捕獲的目的。2.3 Visual C+ 介紹4C 語(yǔ)言是近年來(lái)在國(guó)內(nèi)外得到迅速推廣應(yīng)用的一種計(jì)算機(jī)語(yǔ)言,C 語(yǔ)言功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,既具有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又具

37、有低級(jí)語(yǔ)言的許多特點(diǎn)。因此,C 語(yǔ)言特別適合于編寫(xiě)系統(tǒng)軟件。Miscrosift Visual Studio 是微軟公司出品的創(chuàng)立高性能解決方案的最有效的工具之一。Visual Studio 主要包括Visual C+,Visual Bacic,Visual FoxPro 等。其中,Visual C+簡(jiǎn)稱VC 或VC+,是基于C 和C+語(yǔ)言,主要是由MFC 組成,是與系統(tǒng)聯(lián)系非常緊密的編程工具,它兼有高級(jí),和低級(jí)語(yǔ)言的雙重性,功能強(qiáng)大,靈活,執(zhí)行效率高,幾乎可說(shuō)Visual C+在Windows 平臺(tái)無(wú)所不能。Visual C+是Windows 編程的主要工具,與Windows 的緊密結(jié)合使它

38、在軟件底層開(kāi)發(fā)上占有非常大的優(yōu)勢(shì)。Visual C+具有如下優(yōu)點(diǎn):與Windows 的緊密結(jié)合、強(qiáng)大的類庫(kù)支持和類改造能力、高效率的運(yùn)行速度。Visual C+ 的適用范圍及特點(diǎn): 1Visual C+主要是針對(duì)Windows 系統(tǒng),適合一些系統(tǒng)級(jí)的開(kāi)發(fā),可以方便實(shí)現(xiàn)一些底層的調(diào)用。在VC 里邊嵌入?yún)R編語(yǔ)言很簡(jiǎn)單。2Visual C+主要用在驅(qū)動(dòng)程序開(kāi)發(fā)3Visual C+執(zhí)行效率高,當(dāng)對(duì)系統(tǒng)性能要求很高的時(shí)候,可用Visual C+開(kāi)發(fā)。4Visual C+主要適用于游戲開(kāi)發(fā)5Visual C+多用于單片機(jī),工業(yè)控制等軟件開(kāi)發(fā),如直接對(duì)I/O 地址操作,就要用C+。6Visual C+適用開(kāi)

39、發(fā)高效,短小,輕量級(jí)的COM 組件,DLL.比方WEB 上的控件。7Visual C+可以開(kāi)發(fā)優(yōu)秀的基于通信的程序。8Visual C+可以開(kāi)發(fā)高效靈活的文件操作程序。9Visual C+可以開(kāi)發(fā)靈活高效的數(shù)據(jù)庫(kù)操作程序。10Visual C+是編寫(xiě)CAD 軟件的最主要的選擇,包括AUTOCAD,UG 的二次開(kāi)發(fā)。11Visual C+在多線程、網(wǎng)絡(luò)通信、分布應(yīng)用方面,VC+有不可比較的優(yōu)勢(shì)。2.4 MySQL 簡(jiǎn)介數(shù)據(jù)庫(kù)是與日常應(yīng)用緊密相連的,在沒(méi)有出現(xiàn)數(shù)據(jù)庫(kù)之前,人們通過(guò)手工記錄處理各種信息。當(dāng)需要記錄處理的信息非常多時(shí),手工處理效率就顯得及其低下了。比方病人到醫(yī)院就醫(yī),需要通過(guò)掛號(hào)、就診

40、、買藥、住院、治療、康復(fù)等一系列程序。掛號(hào)就要登記病人姓名、性別、年齡等情況。買藥的時(shí)候醫(yī)院依據(jù)藥單從成千上萬(wàn)種藥物中挑出符合要求的藥品, 需要知道藥的品名、具體位置、庫(kù)存多少、存取多少等等。如果病人很多,醫(yī)院選藥就很麻煩了。如果手工處理,工作量大,而且有可能調(diào)拿錯(cuò)藥。這時(shí)如果通過(guò)數(shù)據(jù)庫(kù)處理,只需簡(jiǎn)單地輸入藥品名就馬上可以知道具體位置、庫(kù)存還有多少等詳細(xì)情況。這樣是不是很方便、提高了效率,并且還防止了拿錯(cuò)藥的情況。現(xiàn)在每一個(gè)人的生活幾乎都離不開(kāi)數(shù)據(jù)庫(kù),如果沒(méi)有數(shù)據(jù)庫(kù),很多事情都會(huì)變得非常棘手,也許根本無(wú)法做得到。銀行、大學(xué)和圖書(shū)館就是幾個(gè)嚴(yán)重依賴數(shù)據(jù)庫(kù)系統(tǒng)的地方。在互聯(lián)網(wǎng)上,使用搜索引擎、在線

41、購(gòu)物甚至是訪問(wèn)網(wǎng)站地址都離不開(kāi)數(shù)據(jù)庫(kù)。一個(gè)數(shù)據(jù)庫(kù)通常都安裝在稱為數(shù)據(jù)庫(kù)效勞器的計(jì)算機(jī)上。目前市場(chǎng)上運(yùn)行最快的SQL (Structured Query Language 結(jié)構(gòu)化查詢語(yǔ)言) 數(shù)據(jù)庫(kù)之一就是MySQL Server。MySQL,出自瑞典小公司MySQL 公司的開(kāi)放源碼的數(shù)據(jù)庫(kù)軟件,目前對(duì)數(shù)據(jù)庫(kù)老牌廠商O(píng)racle, IBM, Microsoft 以及Sybase 等公司產(chǎn)生威脅。它同樣具有良好的可靠性、平安性和易用性,是大規(guī)模聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉(cāng)庫(kù)和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫(kù)平臺(tái)。MySQL 提供了其它數(shù)據(jù)庫(kù)少有的編程工具,而且MySQL 對(duì)于商業(yè)和個(gè)人用戶是免費(fèi)的。MySQL

42、是大規(guī)模聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉(cāng)庫(kù)和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫(kù)平臺(tái)。據(jù)Evans Data 統(tǒng)計(jì),在過(guò)去半年中,開(kāi)放源代碼數(shù)據(jù)庫(kù)開(kāi)發(fā)者的數(shù)量增長(zhǎng)了20%以上。MySQL 的使用量再過(guò)去半年中更增長(zhǎng)了25%,成為數(shù)據(jù)庫(kù)領(lǐng)域使用最多的產(chǎn)品。目前有44% 的開(kāi)放源代碼數(shù)據(jù)庫(kù)開(kāi)發(fā)人員在使用MySQL。如今,包括Siemens 和Silicon Graphics 這樣的國(guó)際知名公司也開(kāi)始把MySQL 作為其數(shù)據(jù)庫(kù)管理系統(tǒng),這就更加證明了MySQL 數(shù)據(jù)庫(kù)的優(yōu)越性能和廣闊的市場(chǎng)開(kāi)展前景。MySQL 數(shù)據(jù)庫(kù)最主要的兩大特點(diǎn)就是開(kāi)源和免費(fèi),此外,它還具有以下主要特點(diǎn): (1) 同時(shí)訪問(wèn)數(shù)據(jù)庫(kù)的用戶數(shù)量不受限制;

43、 (2) 可以保存超過(guò)50,000,000 條記錄; (3) 是目前市場(chǎng)上現(xiàn)有產(chǎn)品中運(yùn)行速度最快的數(shù)據(jù)庫(kù)系統(tǒng); (4) 用戶權(quán)限設(shè)置簡(jiǎn)單、有效。由于MySQL 本身并不像MS SQL Server 那樣提供圖形化顯示界面,所以為了在開(kāi)發(fā)過(guò)程中顯示方便,我們還可以裝上一些MySQL 的插件,比方MySQL Front,這是一款小巧的管理MySQL 的應(yīng)用程序。主要特性包括多文檔界面,語(yǔ)法突出,拖拽方式的數(shù)據(jù)庫(kù)和表格,可編輯/可增加/刪除的域。可編輯/可插入/刪除的記錄,可顯示的成員,可執(zhí)行的SQL 腳本,提供與外程序接口,保存數(shù)據(jù)到CSV 文件等。2.5拒絕效勞攻擊簡(jiǎn)介6 7DoS 是Denia

44、l of Service 的簡(jiǎn)稱,即拒絕效勞,造成DoS 的攻擊行為被稱為DoS 攻擊,其目的是使計(jì)算機(jī)或網(wǎng)絡(luò)無(wú)法提供正常的效勞。最常見(jiàn)的DoS 攻擊有計(jì)算機(jī)網(wǎng)絡(luò)帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網(wǎng)絡(luò),使得所有可用網(wǎng)絡(luò)資源都被消耗殆盡, 最后導(dǎo)致合法的用戶請(qǐng)求就無(wú)法通過(guò)。連通性攻擊指用大量的連接請(qǐng)求沖擊計(jì)算機(jī),使得所有可用的操作系統(tǒng)資源都被消耗殆盡,最終計(jì)算機(jī)無(wú)法再處理合法用戶的請(qǐng)求。分布式拒絕效勞(DDoS:Distributed Denial of Service)攻擊指借助于客戶/效勞器技術(shù),將多個(gè)計(jì)算機(jī)聯(lián)合起來(lái)作為攻擊平臺(tái),對(duì)一個(gè)或多個(gè)目標(biāo)發(fā)動(dòng)DoS 攻擊,從而成倍地提

45、高拒絕效勞攻擊的威力。通常,攻擊者使用一個(gè)偷竊帳號(hào)將DDoS 主控程序安裝在一個(gè)計(jì)算機(jī)上,在一個(gè)設(shè)定的時(shí)間主控程序?qū)⑴c大量代理程序通訊,代理程序已經(jīng)被安裝在Internet 上的許多計(jì)算機(jī)上。代理程序收到指令時(shí)就發(fā)動(dòng)攻擊。利用客戶/效勞器技術(shù),主控程序能在幾秒鐘內(nèi)激活成百上千次代理程序的運(yùn)行。 DDoS又把DoS又向前開(kāi)展了一大步,這種分布式拒絕效勞攻擊是黑客利用在已經(jīng)侵入并已控制的不同的高帶寬主機(jī)可能是數(shù)百,甚至成千上萬(wàn)臺(tái)上安裝大量的DoS效勞程序,它們等待來(lái)自中央攻擊控制中心的命令,中央攻擊控制中心在適時(shí)啟動(dòng)全體受控主機(jī)的DoS效勞進(jìn)程,讓它們對(duì)一個(gè)特定目標(biāo)發(fā)送盡可能多的網(wǎng)絡(luò)訪問(wèn)請(qǐng)求,形成

46、一股DoS洪流沖擊目標(biāo)系統(tǒng),猛烈的DoS攻擊同一個(gè)網(wǎng)站。在寡不敵眾的力量抗衡下,被攻擊的目標(biāo)網(wǎng)站會(huì)很快失去反響而不能及時(shí)處理正常的訪問(wèn)甚至系統(tǒng)癱瘓崩潰。可見(jiàn)DDoS與DoS的最大區(qū)別是人多力量大。DoS是一臺(tái)機(jī)器攻擊目標(biāo),DDoS是被中央攻擊中心控制的很多臺(tái)機(jī)器利用他們的高帶寬攻擊目標(biāo),可更容易地將目標(biāo)網(wǎng)站攻下。另外,DDoS攻擊方式較為自動(dòng)化,攻擊者可以把他的程序安裝到網(wǎng)絡(luò)中的多臺(tái)機(jī)器上,所采用的這種攻擊方式很難被攻擊對(duì)象發(fā)覺(jué),直到攻擊者發(fā)下統(tǒng)一的攻擊命令,這些機(jī)器才同時(shí)發(fā)起進(jìn)攻。可以說(shuō)DDoS攻擊是由黑客集中控制發(fā)動(dòng)的一組DoS攻擊的集合,現(xiàn)在這種方式被認(rèn)為是最有效的攻擊形式,并且非常難以

47、抵擋。 無(wú)論是DoS攻擊還是DDoS攻擊,簡(jiǎn)單的看,都只是一種破壞網(wǎng)絡(luò)效勞的黑客方式,雖然具體的實(shí)現(xiàn)方式千變?nèi)f化,但都有一個(gè)共同點(diǎn),就是其根本目的是使受害主機(jī)或網(wǎng)絡(luò)無(wú)法及時(shí)接收并處理外界請(qǐng)求,或無(wú)法及時(shí)回應(yīng)外界請(qǐng)求。其具體表現(xiàn)方式有以下幾種: (1)制造大流量無(wú)用數(shù)據(jù),造成通往被攻擊主機(jī)的網(wǎng)絡(luò)擁塞,使被攻擊主機(jī)無(wú)法正常和外界通信。 (2)利用被攻擊主機(jī)提供效勞或傳輸協(xié)議上處理重復(fù)連接的缺陷,反復(fù)高頻的發(fā)出攻擊性的重復(fù)效勞請(qǐng)求,使被攻擊主機(jī)無(wú)法及時(shí)處理其它正常的請(qǐng)求。 (3)利用被攻擊主機(jī)所提供效勞程序或傳輸協(xié)議的本身實(shí)現(xiàn)缺陷,反復(fù)發(fā)送畸形的攻擊數(shù)據(jù)引發(fā)系統(tǒng)錯(cuò)誤的分配大量系統(tǒng)資源,使主機(jī)處于掛起

48、狀態(tài)甚至死機(jī)。第三章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)前面我們對(duì)基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)的進(jìn)行了分析,并對(duì)相關(guān)的技術(shù)進(jìn)行了介紹,在本章中我們將給出詳細(xì)的設(shè)計(jì)方案及實(shí)現(xiàn)效果。3.1 系統(tǒng)開(kāi)發(fā)目的及設(shè)計(jì)目標(biāo)本流量分析系統(tǒng)將用來(lái)動(dòng)態(tài)檢測(cè)子網(wǎng)內(nèi)的網(wǎng)絡(luò)流量,實(shí)現(xiàn)針對(duì)不同網(wǎng)絡(luò)協(xié)議和不同網(wǎng)絡(luò)效勞的相關(guān)數(shù)據(jù)包流量的實(shí)時(shí)分析,提供圖形化分析工具,把分析所得的結(jié)果通過(guò)折線圖圖形化的界面顯示出來(lái),并將檢測(cè)數(shù)據(jù)保存到數(shù)據(jù)庫(kù)。在監(jiān)視網(wǎng)絡(luò)流量的根底上,通過(guò)制定一定的監(jiān)控策略,對(duì)網(wǎng)絡(luò)環(huán)境中出現(xiàn)的流量異常情況,用戶可以自主查詢數(shù)據(jù)包的具體信息,從而使用戶能及時(shí)的采取相應(yīng)的預(yù)防或補(bǔ)救的措施。3.2 系統(tǒng)整體設(shè)計(jì)思想根據(jù)流量分析系統(tǒng)的開(kāi)發(fā)目

49、的及設(shè)計(jì)目標(biāo),將系統(tǒng)定位于一個(gè)包含捕獲分析、統(tǒng)計(jì)入庫(kù)、前臺(tái)顯示數(shù)據(jù)顯示、圖形顯示三大模塊的綜合系統(tǒng)。系統(tǒng)主界面如圖31所示:圖31 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)主界面其中,捕獲分析模塊是系統(tǒng)的后臺(tái)運(yùn)行程序,主要負(fù)責(zé)的是,通過(guò)使用Winpcap 協(xié)議, 對(duì)通過(guò)所監(jiān)聽(tīng)的網(wǎng)絡(luò)適配器的所有數(shù)據(jù)包進(jìn)行捕獲、分析,這一局部主要采用Visual C+來(lái)編寫(xiě),由于沒(méi)有只是一些底層的操作,而且沒(méi)有對(duì)所捕獲的數(shù)據(jù)進(jìn)行顯示的需求,所以編寫(xiě)的是控制臺(tái)下的程序。統(tǒng)計(jì)入庫(kù)模塊是基于前一個(gè)捕獲分析模塊所捕獲并且分析過(guò)的數(shù)據(jù)包,對(duì)得到分析結(jié)果的數(shù)據(jù)包進(jìn)行分類統(tǒng)計(jì)包括基于不同網(wǎng)絡(luò)協(xié)議或者不同網(wǎng)絡(luò)效勞,并把統(tǒng)計(jì)的結(jié)果存入到MySQL 數(shù)據(jù)庫(kù)

50、中,以供前臺(tái)顯示程序調(diào)用。該模塊主要的任務(wù)就是MySQL 數(shù)據(jù)庫(kù)中建立好用于存儲(chǔ)捕獲分析模塊分析所得的結(jié)果的數(shù)據(jù)庫(kù)及指定的表格,建立好Visual C+對(duì)MySQL數(shù)據(jù)庫(kù)的連接,最后就是將所得的結(jié)果存入指定的數(shù)據(jù)庫(kù)中。圖形監(jiān)控模塊是基于前一個(gè)統(tǒng)計(jì)入庫(kù)模塊中存入MySQL 數(shù)據(jù)庫(kù)中相應(yīng)的表格中的統(tǒng)計(jì)數(shù)據(jù),將前面統(tǒng)計(jì)入庫(kù)的數(shù)據(jù)用圖形化顯示出來(lái)流量分析的結(jié)果來(lái),方便用戶直觀的看到網(wǎng)絡(luò)流量的具體狀況。警報(bào)數(shù)據(jù)查詢是基于已存入MySQL數(shù)據(jù)庫(kù)中的統(tǒng)計(jì)數(shù)據(jù),讓用戶用過(guò)報(bào)警數(shù)據(jù)設(shè)置自主的查詢異常數(shù)據(jù),從而有效的對(duì)攻擊做出有效的防范。系統(tǒng)的總體流程大致是:用戶啟動(dòng)程序,后臺(tái)捕獲分析模塊對(duì)指定的網(wǎng)絡(luò)適配器進(jìn)行監(jiān)

51、聽(tīng),當(dāng)有數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)適配器的時(shí)候即被程序所捕獲,程序立即對(duì)捕獲的數(shù)據(jù)包進(jìn)行分析,并將分析所得的結(jié)果統(tǒng)計(jì)后存入數(shù)據(jù)庫(kù)中,前臺(tái)主程序同時(shí)查詢到剛剛存入數(shù)據(jù)庫(kù)的統(tǒng)計(jì)數(shù)據(jù)記錄,將其讀出,并用圖形化的形式顯示在用戶界面上。3.3 后臺(tái)捕獲分析模塊詳細(xì)設(shè)計(jì)5 數(shù)據(jù)包的捕獲原理數(shù)據(jù)包的捕獲是本系統(tǒng)中最為重要的一個(gè)環(huán)節(jié),因?yàn)檎麄€(gè)流量分析系統(tǒng)的所有后續(xù)工作都是以數(shù)據(jù)包的捕獲作為前提的,都是以所捕獲的數(shù)據(jù)包作為根底,進(jìn)而才有在此根底上的分析、統(tǒng)計(jì)、存儲(chǔ)、顯示,報(bào)警等等后續(xù)的工作。捕獲數(shù)據(jù)包的具體步驟如下: 1獲得網(wǎng)絡(luò)接口列表通常, 一個(gè)基于WinPcap 的應(yīng)用程序所要做的第一件事, 就是獲得適合的網(wǎng)絡(luò)接口的列

52、表. Libpcap 中的pcap_findalldevs()函數(shù)就是用來(lái)獲得適合的網(wǎng)絡(luò)接口的列表的,返回一個(gè)pcap_if 結(jié)構(gòu)的列表。由pcap_findalldevs() 函數(shù)返回的pcap_if 結(jié)構(gòu)也包含了一個(gè)pcap_addr 結(jié)構(gòu)的列表, 它記錄了以下信息: 1. 接口的地址列表2. 接口的掩碼列表(與地址列表一一對(duì)應(yīng)) 3. 接口的播送地址列表(與地址列表一一對(duì)應(yīng)) 4. 目標(biāo)地址列表(與地址列表一一對(duì)應(yīng)) 2翻開(kāi)捕捉設(shè)備使用函數(shù)pcap_open_live() 來(lái)翻開(kāi)一個(gè)捕捉設(shè)備. 函數(shù)原型: pcap_t * pcap_open_live (char *device, in

53、t snaplen, int promisc, int to_ms, char *ebuf) pcap_open_live()的第四個(gè)參數(shù)(to_ms)定義了采樣的間隔,在本系統(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)生一

54、系列的能夠被底層驅(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ù)包。以下捕獲數(shù)據(jù)包的主要代碼:/* 開(kāi)始捕獲數(shù)據(jù)包

55、*/ pcap_loop(adhandle, 0, packet_handler, NULL); 其中:packet_handler 是處理包的函數(shù)5保存捕獲的數(shù)據(jù)包Winpcap為我們提供了很多API 來(lái)將流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)包保存到一個(gè)堆文件并讀取堆的內(nèi)容。系統(tǒng)中采用pcap_live_dump 將數(shù)據(jù)寫(xiě)到文件。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_du

56、mp_ended()來(lái)等檢查是否數(shù)據(jù)存儲(chǔ)完畢。需要說(shuō)明的是,pcap_live_dump()是Winpcap 所特有的,而且只能夠應(yīng)用于Win32 環(huán)境。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ì)模式下編寫(xiě)一個(gè)程序來(lái)監(jiān)視TCP 流量只是幾行代碼的事情在設(shè)置為統(tǒng)計(jì)模式前可以設(shè)置一個(gè)過(guò)濾器來(lái)指定要捕獲的協(xié)議包。如果沒(méi)有設(shè)置過(guò)濾器那么整個(gè)網(wǎng)絡(luò)數(shù)據(jù)都將被監(jiān)視。一旦設(shè)置了過(guò)濾器就可以調(diào)用pcap_setmode() 來(lái)設(shè)置為統(tǒng)計(jì)模式,之后網(wǎng)卡開(kāi)始工作在統(tǒng)計(jì)模式下。主要的代碼如下: /*

57、將網(wǎng)卡設(shè)置為統(tǒng)計(jì)模式*/ pcap_setmode(fp, MODE_STAT); 對(duì)捕獲的數(shù)據(jù)包的分析對(duì)前面所捕獲的數(shù)據(jù)包,我們都要進(jìn)行一定的分析,才能得到我們所要的結(jié)果。可以根據(jù)系統(tǒng)的開(kāi)發(fā)目的及設(shè)計(jì)目標(biāo)來(lái)確定分析的具體深入程度。本系統(tǒng)中是以針對(duì)不同網(wǎng)絡(luò)協(xié)議和不同網(wǎng)絡(luò)效勞的相關(guān)數(shù)據(jù)包流量的實(shí)時(shí)分析為主要目的,所以只需對(duì)數(shù)據(jù)包分析出每個(gè)數(shù)據(jù)包的所基于的網(wǎng)絡(luò)協(xié)議類型和網(wǎng)絡(luò)效勞的類型即端口號(hào)這一層面上。最后再對(duì)分析出來(lái)的數(shù)據(jù)包按照不同的網(wǎng)絡(luò)協(xié)議類型或者不同的網(wǎng)絡(luò)效勞類型進(jìn)行分類統(tǒng)計(jì)。程序中根據(jù)IP 頭部的proto 字段的數(shù)值來(lái)判斷所屬的網(wǎng)絡(luò)協(xié)議類型。具體分析的主要代碼如下:/根據(jù)通訊協(xié)議TCP,

58、UDP,ICMP來(lái)統(tǒng)計(jì)數(shù)據(jù)包的量/協(xié)議類型tcp:6,udp:17,icmp:1 /ippacknum=ippacknum+1; if(ih-proto=6)/TCP 包tcppacknum=tcppacknum+1; else if(ih-proto=17)/UDP 包udppacknum=udppacknum+1; else if(ih-proto=1)/ICMP 包icmppacknum=icmppacknum+1; /根據(jù)TCP 的標(biāo)志SYN來(lái)判斷是否為新建連接if(th-th_flags=2) tcpnewnum=tcpnewnum+1; 將分析的結(jié)果存入數(shù)據(jù)庫(kù)前面程序已經(jīng)捕獲的數(shù)據(jù)

59、包進(jìn)行分析,并且根據(jù)數(shù)據(jù)包所屬的不同的網(wǎng)絡(luò)協(xié)議類型或者不同的網(wǎng)絡(luò)效勞進(jìn)行了分類,并且用參數(shù)進(jìn)行各種數(shù)據(jù)包的數(shù)量的統(tǒng)計(jì),現(xiàn)在這個(gè)階段就是要將這些統(tǒng)計(jì)的結(jié)果存入到數(shù)據(jù)庫(kù)中。首先,要在程序中建立對(duì)MySQL 數(shù)據(jù)庫(kù)的初始化連接,在程序中主要通過(guò)一段mysqldb_init()的函數(shù)來(lái)實(shí)現(xiàn),調(diào)用MySQL 提供的API 中的mysql_init、mysql_real_connect 等函數(shù)來(lái)連接數(shù)據(jù)庫(kù),連接成功后,在指定的數(shù)據(jù)庫(kù)中建立用來(lái)存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù)的表,然后每隔一秒鐘,將這一秒鐘所統(tǒng)計(jì)的流量數(shù)據(jù)存入到數(shù)據(jù)庫(kù)中的這個(gè)表中。其中主要的代碼如下: /連接MySQL 數(shù)據(jù)庫(kù)mysql_real_connec

60、t( m_mysql, ,root, 111000, szTargetDSN, 0, NULL, 0 )3.4 流量分析系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)對(duì)整個(gè)系統(tǒng)的影響由于在本系統(tǒng)中,數(shù)據(jù)庫(kù)扮演著一個(gè)中介橋梁的作用,是用來(lái)連接貫穿前臺(tái)后臺(tái)程序的重要模塊,系統(tǒng)中的所有的數(shù)據(jù)都要在這個(gè)數(shù)據(jù)庫(kù)中進(jìn)行存入、中轉(zhuǎn)、輸出等等。所以說(shuō),數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)運(yùn)行的效率上下。如果說(shuō),后臺(tái)的數(shù)據(jù)包捕獲模塊是系統(tǒng)成功運(yùn)行的前提的話,那么數(shù)據(jù)庫(kù)存儲(chǔ)模塊那么是整個(gè)系統(tǒng)的中心,是系統(tǒng)最關(guān)鍵的模塊。 數(shù)據(jù)庫(kù)的需求分析數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù)最重要的局部就是每秒鐘通過(guò)網(wǎng)絡(luò)適配器的各種類型的數(shù)據(jù)包的數(shù)量的即時(shí)數(shù)據(jù)。所以,數(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論