![基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第1頁](http://file4.renrendoc.com/view/99d1e627eaf5800b5b37f7a6f0434895/99d1e627eaf5800b5b37f7a6f04348951.gif)
![基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第2頁](http://file4.renrendoc.com/view/99d1e627eaf5800b5b37f7a6f0434895/99d1e627eaf5800b5b37f7a6f04348952.gif)
![基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第3頁](http://file4.renrendoc.com/view/99d1e627eaf5800b5b37f7a6f0434895/99d1e627eaf5800b5b37f7a6f04348953.gif)
![基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第4頁](http://file4.renrendoc.com/view/99d1e627eaf5800b5b37f7a6f0434895/99d1e627eaf5800b5b37f7a6f04348954.gif)
![基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)_第5頁](http://file4.renrendoc.com/view/99d1e627eaf5800b5b37f7a6f0434895/99d1e627eaf5800b5b37f7a6f04348955.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本科畢業(yè)論文(科研訓(xùn)練、畢業(yè)設(shè)計)題 目:基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)姓 名:學(xué) 院:軟件學(xué)院專 業(yè):軟件工程年 級:學(xué) 號:指導(dǎo)教師校內(nèi): 職稱: 年 月基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)【 摘要 】 當(dāng)今社會,計算機(jī)網(wǎng)絡(luò)已經(jīng)影響到社會的政治、經(jīng)濟(jì)、文化、軍事和生活的各個方面,然而網(wǎng)絡(luò)給社會帶來便利的同時也隨之帶來了平安和管理問題。隨著計算機(jī)網(wǎng)絡(luò)越來越復(fù)雜,網(wǎng)絡(luò)管理己變得日益重要。例如對一個企業(yè)而言有些員工利用工作時間看新聞、玩游戲、聊天、聽歌曲等等。這不僅消耗公司資源,而且影響公司效率、泄露公司機(jī)密、甚至喪失客戶資源。網(wǎng)絡(luò)流量分析系統(tǒng)作為網(wǎng)絡(luò)管理的一個重要的根底系統(tǒng),對網(wǎng)絡(luò)的流量進(jìn)行實時的監(jiān)控,為后
2、續(xù)的網(wǎng)絡(luò)管理工作,網(wǎng)絡(luò)黑客攻擊防范工作起到了最重要的作用。我們所設(shè)計的基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)是基于Winpcap 進(jìn)行開發(fā)的,采用Visual C+作為開發(fā)平臺,MySQL 作為后臺的數(shù)據(jù)庫管理系統(tǒng),提供良好的用戶管理界面,可以實現(xiàn)對本地網(wǎng)絡(luò)流量的實時監(jiān)控包括數(shù)字監(jiān)控,流量監(jiān)控等,從而對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分析,并提供異常流量的報警功能?!?關(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)的研究內(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ù)包的捕獲和過濾的步驟 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 簡介 PAGEREF _Toc168689825 h 14 HYPERLINK l _Toc168689826 2.5拒絕效勞攻擊簡介6 7 PAGEREF _Toc168689826 h 16 HYPERLI
10、NK l _Toc168689827 第三章 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn) PAGEREF _Toc168689827 h 18 HYPERLINK l _Toc168689828 3.1 系統(tǒng)開發(fā)目的及設(shè)計目標(biāo) PAGEREF _Toc168689828 h 18 HYPERLINK l _Toc168689829 3.2 系統(tǒng)整體設(shè)計思想 PAGEREF _Toc168689829 h 18 HYPERLINK l _Toc168689830 3.3 后臺捕獲分析模塊詳細(xì)設(shè)計5 PAGEREF _Toc168689830 h 20 HYPERLINK l _Toc168689831 3.3.1 數(shù)據(jù)
11、包的捕獲原理 PAGEREF _Toc168689831 h 20 HYPERLINK l _Toc168689832 3.3.2 對捕獲的數(shù)據(jù)包的分析 PAGEREF _Toc168689832 h 21 HYPERLINK l _Toc168689833 3.3.3 將分析的結(jié)果存入數(shù)據(jù)庫 PAGEREF _Toc168689833 h 22 HYPERLINK l _Toc168689834 3.4 流量分析系統(tǒng)的數(shù)據(jù)庫設(shè)計 PAGEREF _Toc168689834 h 23 HYPERLINK l _Toc168689835 3.4.1 數(shù)據(jù)庫設(shè)計對整個系統(tǒng)的影響 PAGEREF _
12、Toc168689835 h 23 HYPERLINK l _Toc168689836 3.4.2 數(shù)據(jù)庫的需求分析 PAGEREF _Toc168689836 h 23 HYPERLINK l _Toc168689837 3.4.3 數(shù)據(jù)庫的邏輯設(shè)計 PAGEREF _Toc168689837 h 23 HYPERLINK l _Toc168689838 3.5 前臺圖形顯示模塊設(shè)計 PAGEREF _Toc168689838 h 24 HYPERLINK l _Toc168689839 3.6 對異常流量的報警 PAGEREF _Toc168689839 h 25 HYPERLINK l
13、_Toc168689840 3.7 系統(tǒng)實現(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年代以來,隨著Internet在全世界范圍的普及,計算機(jī)網(wǎng)絡(luò)已經(jīng)逐漸成為了人們獲取信息、發(fā)布信息的重要途徑。全世界的計算機(jī)都將通過Internet聯(lián)到一起,這些網(wǎng)絡(luò)的開展使得大到國家經(jīng)濟(jì)命脈小到個人日常生活嚴(yán)重依賴于計算機(jī)網(wǎng)絡(luò)??梢哉f,計算機(jī)網(wǎng)絡(luò),作為新世紀(jì)的重要工具,已經(jīng)滲透到了社會生活中的各個領(lǐng)域,對我們的工作、學(xué)習(xí)、娛樂、經(jīng)濟(jì), 以及生活中的各個方面,都有著
21、深遠(yuǎn)的影響。同時,隨著人們對網(wǎng)絡(luò)信息系統(tǒng)以來的日益增強(qiáng),網(wǎng)絡(luò)正在逐步改變?nèi)藗兊墓ぷ鞣绞胶蜕罘绞?,成為?dāng)今社會開展的一個主題。在人類進(jìn)入信息化時代的今天,人們對信息的平安傳輸、平安存儲、平安處理的要求越來越顯得十分迫切和重要,它不僅關(guān)系到戰(zhàn)爭的勝負(fù),國家的安危,科技的進(jìn)步,經(jīng)濟(jì)的開展,而且也關(guān)系到每個人的切身利益。但是,網(wǎng)絡(luò)成為一把雙刃劍,隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的開展,各類網(wǎng)絡(luò)規(guī)模的擴(kuò)大,遠(yuǎn)程訪問的增加,虛擬專用網(wǎng)VPN的出現(xiàn)和Internet 的普及,隨之而來的就是網(wǎng)絡(luò)的平安性問題。計算機(jī)網(wǎng)絡(luò)在加速人類社會信息化的同時,也給信息平安保障帶來了極大的挑戰(zhàn)。網(wǎng)絡(luò)犯罪已是屢見不鮮,呈逐年上升趨勢。因此
22、,隨著電子商務(wù)、電子現(xiàn)金、數(shù)字貨幣,網(wǎng)絡(luò)銀行等業(yè)務(wù)的興起以及各種專用網(wǎng)的建設(shè),伴隨著這些業(yè)務(wù)而產(chǎn)生的互聯(lián)網(wǎng)和網(wǎng)絡(luò)信息的平安問題,也已成為人們關(guān)注的熱點(diǎ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ò)訪問量,甚至拒絕各種黑客攻擊。它的主要意義在于實現(xiàn)了網(wǎng)絡(luò)監(jiān)控。隨著內(nèi)部網(wǎng)絡(luò)的規(guī)模與容量的日漸擴(kuò)大,保持系統(tǒng)的正常運(yùn)作將會變得越來越重要。網(wǎng)絡(luò)監(jiān)控能使系統(tǒng)及時地發(fā)現(xiàn)網(wǎng)絡(luò)流量異常的現(xiàn)象,使效勞器在發(fā)現(xiàn)非法入侵后
23、能立即做出反響,來保護(hù)自己的效勞器不被破壞,以求獲得平安性的同時,提高網(wǎng)絡(luò)性能。1.2 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的研究內(nèi)容在本課題中,基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)是以監(jiān)控用戶網(wǎng)絡(luò)流量情況、防范黑客攻擊進(jìn)行入侵檢測為主要目的而進(jìn)行開發(fā)的?;赪inpcap 協(xié)議來完成網(wǎng)絡(luò)數(shù)據(jù)包的捕獲,通過對所捕獲數(shù)據(jù)包的內(nèi)容進(jìn)行統(tǒng)計分析,完成對網(wǎng)絡(luò)流量的監(jiān)控分析和對可能發(fā)生的拒絕效勞攻擊進(jìn)行檢測等功能?;诹髁糠治龅木W(wǎng)絡(luò)監(jiān)控系統(tǒng)是基于以太網(wǎng)進(jìn)行開發(fā),利用Winpcap 協(xié)議進(jìn)行工作,采用Visual C+作為開發(fā)平臺,MySqL 作為后臺的數(shù)據(jù)庫管理系統(tǒng),提供良好的用戶管理界面,可以實現(xiàn)對本地網(wǎng)絡(luò)流量的實時監(jiān)控、統(tǒng)計分析
24、,并提供異常流量的報警功能,從而能對網(wǎng)絡(luò)中可能存在的拒絕效勞攻擊進(jìn)行檢測。系統(tǒng)使用C 語言編寫后臺監(jiān)控程序和前臺的界面顯示,MySqL 作為流量分析系統(tǒng)的數(shù)據(jù)庫管理系統(tǒng),以MySql 數(shù)據(jù)庫作為前后臺交互的中間層。1.3 論文的組織結(jié)構(gòu)基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)的論文組織結(jié)構(gòu)如下: 從第二章起我將從以下幾個方面進(jìn)行說明: 第二章、介紹流量分析系統(tǒng)根本的概念和相關(guān)的技術(shù)知識; 第三章、介紹系統(tǒng)的詳細(xì)設(shè)計方案,實現(xiàn)方法和實驗結(jié)果分析等; 第四章、全文總結(jié)。第二章 根本概念介紹由于本基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)是基于Winpcap 協(xié)議進(jìn)行開發(fā),在以太網(wǎng)中進(jìn)行工作,采用Visual C+作為開發(fā)平臺,
25、MySQL 作為后臺的數(shù)據(jù)庫管理系統(tǒng),從而對網(wǎng)絡(luò)中的異常數(shù)據(jù)進(jìn)行檢測和報警,因此本章將從Winpcap協(xié)議、以太網(wǎng)、Visual C+、MySQL、拒絕效勞攻擊等幾個方面分別進(jìn)行介紹。2.1 Winpcap 協(xié)議介紹3 Winpcap 概念Winpcap是由伯克利分組捕獲庫派生而來的分組捕獲庫,它是在Windows操作平臺上來實現(xiàn)對底層包的截取過濾。Winpcap為用戶級的數(shù)據(jù)包提供了Windows下的一個平臺。Winpcap是BPF模型和Libpcap函數(shù)庫在Windows平臺下網(wǎng)絡(luò)數(shù)據(jù)包捕獲和網(wǎng)絡(luò)狀態(tài)分析的一種體系結(jié)構(gòu),這個體系結(jié)構(gòu)是由一個核心的包過濾驅(qū)動程序,一個底層的動態(tài)連接庫Pack
26、et.dll和一個高層的獨(dú)立于系統(tǒng)的函數(shù)庫Libpcap組成。底層的包捕獲驅(qū)動程序?qū)嶋H為一個協(xié)議網(wǎng)絡(luò)驅(qū)動程序,通過對NDIS中函數(shù)的調(diào)用為Win95、Win98、WinNT、和Win2000提供一類似于UNIX系統(tǒng)下BerkeleyPacketFilter的捕獲和發(fā)送原始數(shù)據(jù)包的能力。Packet.dll是對這個BPF驅(qū)動程序進(jìn)行訪問的API接口,同時它有一套符合Libpcap接口UNIX下的捕獲函數(shù)庫的函數(shù)庫。Winpcap結(jié)構(gòu)如圖21所示:Winpcap包括三個局部:第一個模塊NPF(NetgroupPacketFilter),是一個虛擬設(shè)備驅(qū)動程序文件。它的功能是過濾數(shù)據(jù)包,并把這些數(shù)據(jù)
27、包原封不動地傳給用戶態(tài)模塊,這個過程中包括了一些操作系統(tǒng)特有的代碼;第二個模塊packet.dll為win32平臺提供了一個公共的接口。不同版本的Windows系統(tǒng)都有自己的內(nèi)核模塊和用戶層模塊。Packet.dll用于解決這些不同。調(diào)用Packet.dll的程序可以運(yùn)行在不同版本的Windows平臺上,而無需重新編譯;第三個模塊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)勢提
28、供了一套標(biāo)準(zhǔn)的抓包接口,與libpcap兼容,可使得原來許多UNIX平臺下的網(wǎng)絡(luò)分析工具快速移植過來便于開發(fā)各種網(wǎng)絡(luò)分析工具,充分考慮了各種性能和效率的優(yōu)化,包括對于NPF內(nèi)核層次上的過濾器支持,支持內(nèi)核態(tài)的統(tǒng)計模式,提供了發(fā)送數(shù)據(jù)包的能力。 Winpcap 的功能及應(yīng)用Winpcap 可以為為win32 應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能力。它提供了以下的各項功能: (1) 捕獲原始數(shù)據(jù)包,包括在共享網(wǎng)絡(luò)上各主機(jī)發(fā)送/接收的以及相互之間交換的數(shù)據(jù)包; (2) 在數(shù)據(jù)包發(fā)往應(yīng)用程序之前,按照自定義的規(guī)那么將某些特殊的數(shù)據(jù)包過濾掉; (3) 在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)包; (4) 收集網(wǎng)絡(luò)通信過程中的統(tǒng)計
29、信息。 Winpcap進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和過濾的步驟Winpcap對數(shù)據(jù)包的捕獲大致流程如如圖22所示:(1)翻開網(wǎng)卡,并設(shè)為混雜模式。(2回調(diào)函數(shù) Network Tap 在得到監(jiān)聽命令后,從網(wǎng)絡(luò)設(shè)備驅(qū)動程序處收集數(shù)據(jù)包把監(jiān)聽到的數(shù)據(jù)包負(fù)責(zé)傳送給過濾程序。(3當(dāng) Packet filter 監(jiān)聽到有數(shù)據(jù)包到達(dá)時,NDIS 中間驅(qū)動程序首先調(diào)用分組驅(qū)動程序,該程序?qū)?shù)據(jù)傳遞給每一個參與進(jìn)程的分組過濾程序。(4然后由 Packet filter 過濾程序決定哪些數(shù)據(jù)包應(yīng)該丟棄,哪些數(shù)據(jù)包應(yīng)該接收,是否需要將接收到的數(shù)據(jù)拷貝到相應(yīng)的應(yīng)用程序。(5通過分組過濾器后,將數(shù)據(jù)未過濾掉的數(shù)據(jù)包提交給核心
30、緩沖區(qū)。然后等待系統(tǒng)緩沖區(qū)滿后,再將數(shù)據(jù)包拷貝到用戶緩沖區(qū)。監(jiān)聽程序可以直接從用戶緩沖區(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ī)被連接一條同軸電纜上,采用具有沖突檢測的載波感應(yīng)多處訪問CSMA/CD方法,采用競爭機(jī)制和總線拓樸結(jié)構(gòu)。根本上,以太網(wǎng)由共享傳輸媒體,如雙絞線電纜或同軸電纜和多端口集線器、網(wǎng)橋或交換機(jī)構(gòu)成。在星型或總線型配置結(jié)構(gòu)中,集線器/交換機(jī)/網(wǎng)
31、橋通過電纜使得計算機(jī)、打印機(jī)和工作站彼此之間相互連接。以太網(wǎng)具有的一般特征概述如下: 1共享媒體:所有網(wǎng)絡(luò)設(shè)備依次使用同一通信媒體。2播送域:需要傳輸?shù)膸话l(fā)送到所有節(jié)點(diǎn),但只有尋址到的節(jié)點(diǎn)才會接收到幀。3CSMA/CD:以太網(wǎng)中利用載波監(jiān)聽多路訪問/沖突檢測方法Carrier Sense Multiple Access/Collision Detection以防止twp 或更多節(jié)點(diǎn)同時發(fā)送。4MAC 地址:媒體訪問控制層的所有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ā)器是用來接收網(wǎng)絡(luò)設(shè)備上的大量以太網(wǎng)連接的一類設(shè)備。通過某個連接的接收雙方獲得的數(shù)據(jù)被重新使用并發(fā)送到傳輸雙方中所有連接設(shè)備上,以獲得傳輸型設(shè)備。網(wǎng)橋:網(wǎng)橋?qū)儆诘诙釉O(shè)備,負(fù)責(zé)將網(wǎng)絡(luò)劃分為獨(dú)立的沖突域獲分段,到達(dá)能在同一個域/分段中維持播送及共享的目標(biāo)。網(wǎng)橋中包括一份涵蓋所有分段和轉(zhuǎn)發(fā)幀的表格,以確保分段內(nèi)及其周圍的通信行為正常進(jìn)行。交換機(jī):交換機(jī),與網(wǎng)橋相同,也屬于第二層設(shè)備,且是一種多端口設(shè)備。交換機(jī)所支持的功能類似于網(wǎng)橋,但它比網(wǎng)橋更具有的優(yōu)勢是,它可以臨時將任意兩個端口連接在一起。交換機(jī)包括一個交換矩陣,通過它可以迅速連接端口或
33、解除端口連接。與集線器不同,交換機(jī)只轉(zhuǎn)發(fā)從一個端口到其它連接目標(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)聽模式混雜模式,Pro
34、miscuous時,由于采用以太網(wǎng)播送信道爭用的方式,使得監(jiān)聽系統(tǒng)與正常通信的網(wǎng)絡(luò)能夠并聯(lián)連接,并可以捕獲任何一個在同一沖突域上傳輸?shù)臄?shù)據(jù)包。IEEE802.3 標(biāo)準(zhǔn)的以太網(wǎng)采用的是持續(xù) CSMA 的方式,正是由于以太網(wǎng)采用這種播送信道爭用的方式,使得各個站點(diǎn)可以獲得其他站點(diǎn)發(fā)送的數(shù)據(jù)。運(yùn)用這一原理使信息捕獲系統(tǒng)能夠攔截的我們所要的信息,這是捕獲數(shù)據(jù)包的物理根底。以太網(wǎng)是一種總線型的網(wǎng)絡(luò),從邏輯上來看是由一條總線和多個連接在總線上的站點(diǎn)所組成各個站點(diǎn)采用上面提到的 CSMA/CD 協(xié)議進(jìn)行信道的爭用和共享。每個站點(diǎn)這里特指計算機(jī)通過的接口卡網(wǎng)卡來實現(xiàn)這種功能。網(wǎng)卡主要的工作是完成對于總線當(dāng)前狀
35、態(tài)的探測,確定是否進(jìn)行數(shù)據(jù)的傳送,判斷每個物理數(shù)據(jù)幀目的地是否為本站地址,如果不匹配,那么說明不是發(fā)送到本站的而將它丟棄。如果是的話,接收該數(shù)據(jù)幀,進(jìn)行物理數(shù)據(jù)幀的 CRC 校驗,然后將數(shù)據(jù)幀提交給LLC 子層。網(wǎng)卡具有如下的幾種工作模式:1) 播送模式Broad Cast Model:它的物理地址MAC地址是 0Xffffff 的幀為播送幀,工作在播送模式的網(wǎng)卡接收播送幀。2多播傳送MultiCast Model:多播傳送地址作為目的物理地址的幀可以被組內(nèi)的其它主機(jī)同時接收,而組外主機(jī)卻接收不到。但是,如果將網(wǎng)卡設(shè)置為多播傳送模式,它可以接收所有的多播傳送幀,而不管它是不是組內(nèi)成員。3直接模
36、式Direct Model:工作在直接模式下的網(wǎng)卡只接收目地址是自己 Mac地址的幀。4混雜模式Promiscuous Model:工作在混雜模式下的網(wǎng)卡接收所有的流過網(wǎng)卡的幀,信包捕獲程序就是在這種模式下運(yùn)行的。網(wǎng)卡的缺省工作模式包含播送模式和直接模式,即它只接收播送幀和發(fā)給自己的幀。如果采用混雜模式,一個站點(diǎn)的網(wǎng)卡將接受同一網(wǎng)絡(luò)內(nèi)所有站點(diǎn)所發(fā)送的數(shù)據(jù)包這樣就可以到達(dá)對于網(wǎng)絡(luò)信息監(jiān)視捕獲的目的。2.3 Visual C+ 介紹4C 語言是近年來在國內(nèi)外得到迅速推廣應(yīng)用的一種計算機(jī)語言,C 語言功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,既具有高級語言的優(yōu)點(diǎn),又具
37、有低級語言的許多特點(diǎn)。因此,C 語言特別適合于編寫系統(tǒng)軟件。Miscrosift Visual Studio 是微軟公司出品的創(chuàng)立高性能解決方案的最有效的工具之一。Visual Studio 主要包括Visual C+,Visual Bacic,Visual FoxPro 等。其中,Visual C+簡稱VC 或VC+,是基于C 和C+語言,主要是由MFC 組成,是與系統(tǒng)聯(lián)系非常緊密的編程工具,它兼有高級,和低級語言的雙重性,功能強(qiáng)大,靈活,執(zhí)行效率高,幾乎可說Visual C+在Windows 平臺無所不能。Visual C+是Windows 編程的主要工具,與Windows 的緊密結(jié)合使它
38、在軟件底層開發(fā)上占有非常大的優(yōu)勢。Visual C+具有如下優(yōu)點(diǎn):與Windows 的緊密結(jié)合、強(qiáng)大的類庫支持和類改造能力、高效率的運(yùn)行速度。Visual C+ 的適用范圍及特點(diǎn): 1Visual C+主要是針對Windows 系統(tǒng),適合一些系統(tǒng)級的開發(fā),可以方便實現(xiàn)一些底層的調(diào)用。在VC 里邊嵌入?yún)R編語言很簡單。2Visual C+主要用在驅(qū)動程序開發(fā)3Visual C+執(zhí)行效率高,當(dāng)對系統(tǒng)性能要求很高的時候,可用Visual C+開發(fā)。4Visual C+主要適用于游戲開發(fā)5Visual C+多用于單片機(jī),工業(yè)控制等軟件開發(fā),如直接對I/O 地址操作,就要用C+。6Visual C+適用開
39、發(fā)高效,短小,輕量級的COM 組件,DLL.比方WEB 上的控件。7Visual C+可以開發(fā)優(yōu)秀的基于通信的程序。8Visual C+可以開發(fā)高效靈活的文件操作程序。9Visual C+可以開發(fā)靈活高效的數(shù)據(jù)庫操作程序。10Visual C+是編寫CAD 軟件的最主要的選擇,包括AUTOCAD,UG 的二次開發(fā)。11Visual C+在多線程、網(wǎng)絡(luò)通信、分布應(yīng)用方面,VC+有不可比較的優(yōu)勢。2.4 MySQL 簡介數(shù)據(jù)庫是與日常應(yīng)用緊密相連的,在沒有出現(xiàn)數(shù)據(jù)庫之前,人們通過手工記錄處理各種信息。當(dāng)需要記錄處理的信息非常多時,手工處理效率就顯得及其低下了。比方病人到醫(yī)院就醫(yī),需要通過掛號、就診
40、、買藥、住院、治療、康復(fù)等一系列程序。掛號就要登記病人姓名、性別、年齡等情況。買藥的時候醫(yī)院依據(jù)藥單從成千上萬種藥物中挑出符合要求的藥品, 需要知道藥的品名、具體位置、庫存多少、存取多少等等。如果病人很多,醫(yī)院選藥就很麻煩了。如果手工處理,工作量大,而且有可能調(diào)拿錯藥。這時如果通過數(shù)據(jù)庫處理,只需簡單地輸入藥品名就馬上可以知道具體位置、庫存還有多少等詳細(xì)情況。這樣是不是很方便、提高了效率,并且還防止了拿錯藥的情況?,F(xiàn)在每一個人的生活幾乎都離不開數(shù)據(jù)庫,如果沒有數(shù)據(jù)庫,很多事情都會變得非常棘手,也許根本無法做得到。銀行、大學(xué)和圖書館就是幾個嚴(yán)重依賴數(shù)據(jù)庫系統(tǒng)的地方。在互聯(lián)網(wǎng)上,使用搜索引擎、在線
41、購物甚至是訪問網(wǎng)站地址都離不開數(shù)據(jù)庫。一個數(shù)據(jù)庫通常都安裝在稱為數(shù)據(jù)庫效勞器的計算機(jī)上。目前市場上運(yùn)行最快的SQL (Structured Query Language 結(jié)構(gòu)化查詢語言) 數(shù)據(jù)庫之一就是MySQL Server。MySQL,出自瑞典小公司MySQL 公司的開放源碼的數(shù)據(jù)庫軟件,目前對數(shù)據(jù)庫老牌廠商Oracle, IBM, Microsoft 以及Sybase 等公司產(chǎn)生威脅。它同樣具有良好的可靠性、平安性和易用性,是大規(guī)模聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺。MySQL 提供了其它數(shù)據(jù)庫少有的編程工具,而且MySQL 對于商業(yè)和個人用戶是免費(fèi)的。MySQL
42、是大規(guī)模聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺。據(jù)Evans Data 統(tǒng)計,在過去半年中,開放源代碼數(shù)據(jù)庫開發(fā)者的數(shù)量增長了20%以上。MySQL 的使用量再過去半年中更增長了25%,成為數(shù)據(jù)庫領(lǐng)域使用最多的產(chǎn)品。目前有44% 的開放源代碼數(shù)據(jù)庫開發(fā)人員在使用MySQL。如今,包括Siemens 和Silicon Graphics 這樣的國際知名公司也開始把MySQL 作為其數(shù)據(jù)庫管理系統(tǒng),這就更加證明了MySQL 數(shù)據(jù)庫的優(yōu)越性能和廣闊的市場開展前景。MySQL 數(shù)據(jù)庫最主要的兩大特點(diǎn)就是開源和免費(fèi),此外,它還具有以下主要特點(diǎn): (1) 同時訪問數(shù)據(jù)庫的用戶數(shù)量不受限制;
43、 (2) 可以保存超過50,000,000 條記錄; (3) 是目前市場上現(xiàn)有產(chǎn)品中運(yùn)行速度最快的數(shù)據(jù)庫系統(tǒng); (4) 用戶權(quán)限設(shè)置簡單、有效。由于MySQL 本身并不像MS SQL Server 那樣提供圖形化顯示界面,所以為了在開發(fā)過程中顯示方便,我們還可以裝上一些MySQL 的插件,比方MySQL Front,這是一款小巧的管理MySQL 的應(yīng)用程序。主要特性包括多文檔界面,語法突出,拖拽方式的數(shù)據(jù)庫和表格,可編輯/可增加/刪除的域??删庉?可插入/刪除的記錄,可顯示的成員,可執(zhí)行的SQL 腳本,提供與外程序接口,保存數(shù)據(jù)到CSV 文件等。2.5拒絕效勞攻擊簡介6 7DoS 是Denia
44、l of Service 的簡稱,即拒絕效勞,造成DoS 的攻擊行為被稱為DoS 攻擊,其目的是使計算機(jī)或網(wǎng)絡(luò)無法提供正常的效勞。最常見的DoS 攻擊有計算機(jī)網(wǎng)絡(luò)帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網(wǎng)絡(luò),使得所有可用網(wǎng)絡(luò)資源都被消耗殆盡, 最后導(dǎo)致合法的用戶請求就無法通過。連通性攻擊指用大量的連接請求沖擊計算機(jī),使得所有可用的操作系統(tǒng)資源都被消耗殆盡,最終計算機(jī)無法再處理合法用戶的請求。分布式拒絕效勞(DDoS:Distributed Denial of Service)攻擊指借助于客戶/效勞器技術(shù),將多個計算機(jī)聯(lián)合起來作為攻擊平臺,對一個或多個目標(biāo)發(fā)動DoS 攻擊,從而成倍地提
45、高拒絕效勞攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS 主控程序安裝在一個計算機(jī)上,在一個設(shè)定的時間主控程序?qū)⑴c大量代理程序通訊,代理程序已經(jīng)被安裝在Internet 上的許多計算機(jī)上。代理程序收到指令時就發(fā)動攻擊。利用客戶/效勞器技術(shù),主控程序能在幾秒鐘內(nèi)激活成百上千次代理程序的運(yùn)行。 DDoS又把DoS又向前開展了一大步,這種分布式拒絕效勞攻擊是黑客利用在已經(jīng)侵入并已控制的不同的高帶寬主機(jī)可能是數(shù)百,甚至成千上萬臺上安裝大量的DoS效勞程序,它們等待來自中央攻擊控制中心的命令,中央攻擊控制中心在適時啟動全體受控主機(jī)的DoS效勞進(jìn)程,讓它們對一個特定目標(biāo)發(fā)送盡可能多的網(wǎng)絡(luò)訪問請求,形成
46、一股DoS洪流沖擊目標(biāo)系統(tǒng),猛烈的DoS攻擊同一個網(wǎng)站。在寡不敵眾的力量抗衡下,被攻擊的目標(biāo)網(wǎng)站會很快失去反響而不能及時處理正常的訪問甚至系統(tǒng)癱瘓崩潰。可見DDoS與DoS的最大區(qū)別是人多力量大。DoS是一臺機(jī)器攻擊目標(biāo),DDoS是被中央攻擊中心控制的很多臺機(jī)器利用他們的高帶寬攻擊目標(biāo),可更容易地將目標(biāo)網(wǎng)站攻下。另外,DDoS攻擊方式較為自動化,攻擊者可以把他的程序安裝到網(wǎng)絡(luò)中的多臺機(jī)器上,所采用的這種攻擊方式很難被攻擊對象發(fā)覺,直到攻擊者發(fā)下統(tǒng)一的攻擊命令,這些機(jī)器才同時發(fā)起進(jìn)攻??梢哉fDDoS攻擊是由黑客集中控制發(fā)動的一組DoS攻擊的集合,現(xiàn)在這種方式被認(rèn)為是最有效的攻擊形式,并且非常難以
47、抵擋。 無論是DoS攻擊還是DDoS攻擊,簡單的看,都只是一種破壞網(wǎng)絡(luò)效勞的黑客方式,雖然具體的實現(xiàn)方式千變?nèi)f化,但都有一個共同點(diǎn),就是其根本目的是使受害主機(jī)或網(wǎng)絡(luò)無法及時接收并處理外界請求,或無法及時回應(yīng)外界請求。其具體表現(xiàn)方式有以下幾種: (1)制造大流量無用數(shù)據(jù),造成通往被攻擊主機(jī)的網(wǎng)絡(luò)擁塞,使被攻擊主機(jī)無法正常和外界通信。 (2)利用被攻擊主機(jī)提供效勞或傳輸協(xié)議上處理重復(fù)連接的缺陷,反復(fù)高頻的發(fā)出攻擊性的重復(fù)效勞請求,使被攻擊主機(jī)無法及時處理其它正常的請求。 (3)利用被攻擊主機(jī)所提供效勞程序或傳輸協(xié)議的本身實現(xiàn)缺陷,反復(fù)發(fā)送畸形的攻擊數(shù)據(jù)引發(fā)系統(tǒng)錯誤的分配大量系統(tǒng)資源,使主機(jī)處于掛起
48、狀態(tài)甚至死機(jī)。第三章 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)前面我們對基于流量分析的網(wǎng)絡(luò)監(jiān)控系統(tǒng)的進(jìn)行了分析,并對相關(guān)的技術(shù)進(jìn)行了介紹,在本章中我們將給出詳細(xì)的設(shè)計方案及實現(xiàn)效果。3.1 系統(tǒng)開發(fā)目的及設(shè)計目標(biāo)本流量分析系統(tǒng)將用來動態(tài)檢測子網(wǎng)內(nèi)的網(wǎng)絡(luò)流量,實現(xiàn)針對不同網(wǎng)絡(luò)協(xié)議和不同網(wǎng)絡(luò)效勞的相關(guān)數(shù)據(jù)包流量的實時分析,提供圖形化分析工具,把分析所得的結(jié)果通過折線圖圖形化的界面顯示出來,并將檢測數(shù)據(jù)保存到數(shù)據(jù)庫。在監(jiān)視網(wǎng)絡(luò)流量的根底上,通過制定一定的監(jiān)控策略,對網(wǎng)絡(luò)環(huán)境中出現(xiàn)的流量異常情況,用戶可以自主查詢數(shù)據(jù)包的具體信息,從而使用戶能及時的采取相應(yīng)的預(yù)防或補(bǔ)救的措施。3.2 系統(tǒng)整體設(shè)計思想根據(jù)流量分析系統(tǒng)的開發(fā)目
49、的及設(shè)計目標(biāo),將系統(tǒng)定位于一個包含捕獲分析、統(tǒng)計入庫、前臺顯示數(shù)據(jù)顯示、圖形顯示三大模塊的綜合系統(tǒng)。系統(tǒng)主界面如圖31所示:圖31 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)主界面其中,捕獲分析模塊是系統(tǒng)的后臺運(yùn)行程序,主要負(fù)責(zé)的是,通過使用Winpcap 協(xié)議, 對通過所監(jiān)聽的網(wǎng)絡(luò)適配器的所有數(shù)據(jù)包進(jìn)行捕獲、分析,這一局部主要采用Visual C+來編寫,由于沒有只是一些底層的操作,而且沒有對所捕獲的數(shù)據(jù)進(jìn)行顯示的需求,所以編寫的是控制臺下的程序。統(tǒng)計入庫模塊是基于前一個捕獲分析模塊所捕獲并且分析過的數(shù)據(jù)包,對得到分析結(jié)果的數(shù)據(jù)包進(jìn)行分類統(tǒng)計包括基于不同網(wǎng)絡(luò)協(xié)議或者不同網(wǎng)絡(luò)效勞,并把統(tǒng)計的結(jié)果存入到MySQL 數(shù)據(jù)庫
50、中,以供前臺顯示程序調(diào)用。該模塊主要的任務(wù)就是MySQL 數(shù)據(jù)庫中建立好用于存儲捕獲分析模塊分析所得的結(jié)果的數(shù)據(jù)庫及指定的表格,建立好Visual C+對MySQL數(shù)據(jù)庫的連接,最后就是將所得的結(jié)果存入指定的數(shù)據(jù)庫中。圖形監(jiān)控模塊是基于前一個統(tǒng)計入庫模塊中存入MySQL 數(shù)據(jù)庫中相應(yīng)的表格中的統(tǒng)計數(shù)據(jù),將前面統(tǒng)計入庫的數(shù)據(jù)用圖形化顯示出來流量分析的結(jié)果來,方便用戶直觀的看到網(wǎng)絡(luò)流量的具體狀況。警報數(shù)據(jù)查詢是基于已存入MySQL數(shù)據(jù)庫中的統(tǒng)計數(shù)據(jù),讓用戶用過報警數(shù)據(jù)設(shè)置自主的查詢異常數(shù)據(jù),從而有效的對攻擊做出有效的防范。系統(tǒng)的總體流程大致是:用戶啟動程序,后臺捕獲分析模塊對指定的網(wǎng)絡(luò)適配器進(jìn)行監(jiān)
51、聽,當(dāng)有數(shù)據(jù)包通過網(wǎng)絡(luò)適配器的時候即被程序所捕獲,程序立即對捕獲的數(shù)據(jù)包進(jìn)行分析,并將分析所得的結(jié)果統(tǒng)計后存入數(shù)據(jù)庫中,前臺主程序同時查詢到剛剛存入數(shù)據(jù)庫的統(tǒng)計數(shù)據(jù)記錄,將其讀出,并用圖形化的形式顯示在用戶界面上。3.3 后臺捕獲分析模塊詳細(xì)設(shè)計5 數(shù)據(jù)包的捕獲原理數(shù)據(jù)包的捕獲是本系統(tǒng)中最為重要的一個環(huán)節(jié),因為整個流量分析系統(tǒng)的所有后續(xù)工作都是以數(shù)據(jù)包的捕獲作為前提的,都是以所捕獲的數(shù)據(jù)包作為根底,進(jìn)而才有在此根底上的分析、統(tǒng)計、存儲、顯示,報警等等后續(xù)的工作。捕獲數(shù)據(jù)包的具體步驟如下: 1獲得網(wǎng)絡(luò)接口列表通常, 一個基于WinPcap 的應(yīng)用程序所要做的第一件事, 就是獲得適合的網(wǎng)絡(luò)接口的列
52、表. Libpcap 中的pcap_findalldevs()函數(shù)就是用來獲得適合的網(wǎng)絡(luò)接口的列表的,返回一個pcap_if 結(jié)構(gòu)的列表。由pcap_findalldevs() 函數(shù)返回的pcap_if 結(jié)構(gòu)也包含了一個pcap_addr 結(jié)構(gòu)的列表, 它記錄了以下信息: 1. 接口的地址列表2. 接口的掩碼列表(與地址列表一一對應(yīng)) 3. 接口的播送地址列表(與地址列表一一對應(yīng)) 4. 目標(biāo)地址列表(與地址列表一一對應(yīng)) 2翻開捕捉設(shè)備使用函數(shù)pcap_open_live() 來翻開一個捕捉設(shè)備. 函數(shù)原型: pcap_t * pcap_open_live (char *device, in
53、t snaplen, int promisc, int to_ms, char *ebuf) pcap_open_live()的第四個參數(shù)(to_ms)定義了采樣的間隔,在本系統(tǒng)中將此參數(shù)設(shè)置為1000,即系統(tǒng)捕獲數(shù)據(jù)包進(jìn)行分析統(tǒng)計的時間間隔是1 秒。流量監(jiān)控系統(tǒng)監(jiān)控所得的結(jié)果都是每秒鐘通過的數(shù)據(jù)包的流量。3設(shè)置過濾器過濾數(shù)據(jù)的函數(shù)是pcap_compile() 和pcap_setfilter()來實現(xiàn)的pcap_compile() 和pcap_setfilter()是用來編輯過濾器和設(shè)置過濾器的pcap_compile()來編譯一個過濾設(shè)備,它通過一個高層的boolean 型變量和字串產(chǎn)生一
54、系列的能夠被底層驅(qū)動所解釋的二進(jìn)制編碼。boolean 表示語法能夠在這個文件的過濾表示語法中找到。pcap_setfilter() 用來聯(lián)系一個在內(nèi)核驅(qū)動上過濾的過濾器,這時所有網(wǎng)絡(luò)數(shù)據(jù)包都將流經(jīng)過濾器,并拷貝到應(yīng)用程序中。4捕捉數(shù)據(jù)包pcap_dispatch() 或者pcap_loop() 函數(shù)都可以用來捕捉數(shù)據(jù)包。這兩個函數(shù)非常相似,pcap_dispatch() 將會在超時后直接返回,而pcap_loop() 那么一定要等到一定數(shù)量的數(shù)據(jù)包被處理了以后才會返回,也可以用pcap_next_ex()來代替pcap_loop()來捕獲數(shù)據(jù)包。以下捕獲數(shù)據(jù)包的主要代碼:/* 開始捕獲數(shù)據(jù)包
55、*/ pcap_loop(adhandle, 0, packet_handler, NULL); 其中:packet_handler 是處理包的函數(shù)5保存捕獲的數(shù)據(jù)包Winpcap為我們提供了很多API 來將流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)包保存到一個堆文件并讀取堆的內(nèi)容。系統(tǒng)中采用pcap_live_dump 將數(shù)據(jù)寫到文件。pcap_live_dump 有三個參數(shù):一個文件名,和一個該文件允許的最大長度還有一個參數(shù)是該文件所允許的最大包的數(shù)量。對這些參數(shù)來說0 意味著沒有最大限制。這里,我們可以在調(diào)用pcap_live_dump()前設(shè)置一個過濾器來定義哪些數(shù)據(jù)報需要存儲,并且可以用pcap_live_du
56、mp_ended()來等檢查是否數(shù)據(jù)存儲完畢。需要說明的是,pcap_live_dump()是Winpcap 所特有的,而且只能夠應(yīng)用于Win32 環(huán)境。6 收集網(wǎng)絡(luò)流量的統(tǒng)計信息WinPcap 的另一高級功能:收集網(wǎng)絡(luò)流量的統(tǒng)計信息。程序必須翻開一個網(wǎng)卡并用pcap_setmode()將其設(shè)置為統(tǒng)計模式。在統(tǒng)計模式下編寫一個程序來監(jiān)視TCP 流量只是幾行代碼的事情在設(shè)置為統(tǒng)計模式前可以設(shè)置一個過濾器來指定要捕獲的協(xié)議包。如果沒有設(shè)置過濾器那么整個網(wǎng)絡(luò)數(shù)據(jù)都將被監(jiān)視。一旦設(shè)置了過濾器就可以調(diào)用pcap_setmode() 來設(shè)置為統(tǒng)計模式,之后網(wǎng)卡開始工作在統(tǒng)計模式下。主要的代碼如下: /*
57、將網(wǎng)卡設(shè)置為統(tǒng)計模式*/ pcap_setmode(fp, MODE_STAT); 對捕獲的數(shù)據(jù)包的分析對前面所捕獲的數(shù)據(jù)包,我們都要進(jìn)行一定的分析,才能得到我們所要的結(jié)果。可以根據(jù)系統(tǒng)的開發(fā)目的及設(shè)計目標(biāo)來確定分析的具體深入程度。本系統(tǒng)中是以針對不同網(wǎng)絡(luò)協(xié)議和不同網(wǎng)絡(luò)效勞的相關(guān)數(shù)據(jù)包流量的實時分析為主要目的,所以只需對數(shù)據(jù)包分析出每個數(shù)據(jù)包的所基于的網(wǎng)絡(luò)協(xié)議類型和網(wǎng)絡(luò)效勞的類型即端口號這一層面上。最后再對分析出來的數(shù)據(jù)包按照不同的網(wǎng)絡(luò)協(xié)議類型或者不同的網(wǎng)絡(luò)效勞類型進(jìn)行分類統(tǒng)計。程序中根據(jù)IP 頭部的proto 字段的數(shù)值來判斷所屬的網(wǎng)絡(luò)協(xié)議類型。具體分析的主要代碼如下:/根據(jù)通訊協(xié)議TCP,
58、UDP,ICMP來統(tǒng)計數(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來判斷是否為新建連接if(th-th_flags=2) tcpnewnum=tcpnewnum+1; 將分析的結(jié)果存入數(shù)據(jù)庫前面程序已經(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)計,現(xiàn)在這個階段就是要將這些統(tǒng)計的結(jié)果存入到數(shù)據(jù)庫中。首先,要在程序中建立對MySQL 數(shù)據(jù)庫的初始化連接,在程序中主要通過一段mysqldb_init()的函數(shù)來實現(xiàn),調(diào)用MySQL 提供的API 中的mysql_init、mysql_real_connect 等函數(shù)來連接數(shù)據(jù)庫,連接成功后,在指定的數(shù)據(jù)庫中建立用來存儲統(tǒng)計數(shù)據(jù)的表,然后每隔一秒鐘,將這一秒鐘所統(tǒng)計的流量數(shù)據(jù)存入到數(shù)據(jù)庫中的這個表中。其中主要的代碼如下: /連接MySQL 數(shù)據(jù)庫mysql_real_connec
60、t( m_mysql, ,root, 111000, szTargetDSN, 0, NULL, 0 )3.4 流量分析系統(tǒng)的數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫設(shè)計對整個系統(tǒng)的影響由于在本系統(tǒng)中,數(shù)據(jù)庫扮演著一個中介橋梁的作用,是用來連接貫穿前臺后臺程序的重要模塊,系統(tǒng)中的所有的數(shù)據(jù)都要在這個數(shù)據(jù)庫中進(jìn)行存入、中轉(zhuǎn)、輸出等等。所以說,數(shù)據(jù)庫設(shè)計的好壞,直接影響到整個系統(tǒng)運(yùn)行的效率上下。如果說,后臺的數(shù)據(jù)包捕獲模塊是系統(tǒng)成功運(yùn)行的前提的話,那么數(shù)據(jù)庫存儲模塊那么是整個系統(tǒng)的中心,是系統(tǒng)最關(guān)鍵的模塊。 數(shù)據(jù)庫的需求分析數(shù)據(jù)庫中存儲數(shù)據(jù)最重要的局部就是每秒鐘通過網(wǎng)絡(luò)適配器的各種類型的數(shù)據(jù)包的數(shù)量的即時數(shù)據(jù)。所以,數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年新課標(biāo)八年級上冊道德與法第四課 社會生活講道德 聽課評課記錄
- 五年級下冊數(shù)學(xué)聽評課記錄《1總復(fù)習(xí):倍數(shù)和因數(shù)》人教新課標(biāo)
- 華師大版數(shù)學(xué)八年級下冊《平行四邊形邊、角的性質(zhì)》聽評課記錄
- 數(shù)學(xué)聽評課記錄二年級下
- 《青銅器與甲骨文》名師聽課評課記錄(新部編人教版七年級上冊歷史)
- 新人教版七年級數(shù)學(xué)上冊2.2《 整式的加減》聽評課記錄
- 青島版數(shù)學(xué)八年級下冊《實數(shù)》聽評課記錄1
- 小學(xué)二年級口算題
- 鄉(xiāng)村振興銀企戰(zhàn)略合作協(xié)議書范本
- 上海商品交易市場進(jìn)場經(jīng)營合同范本
- GB/T 308.1-2013滾動軸承球第1部分:鋼球
- 中藥炮制學(xué)-第五、六章
- 新員工入場安全教育培訓(xùn)課件
- 中國風(fēng)軍令狀誓師大會PPT模板
- 小兒高熱驚厥精品課件
- 2023機(jī)械工程師考試試題及答案
- 2022年電拖實驗報告伍宏淳
- 豐田汽車戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 公共政策學(xué)(第三版)-課件
- 冷卻塔是利用水和空氣的接觸
- 我的家鄉(xiāng)--安徽亳州.PPT
評論
0/150
提交評論