基于流量分析的網絡監控系統_第1頁
基于流量分析的網絡監控系統_第2頁
基于流量分析的網絡監控系統_第3頁
基于流量分析的網絡監控系統_第4頁
基于流量分析的網絡監控系統_第5頁
已閱讀5頁,還剩35頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、續的網絡管理工作,網絡黑客攻擊防范工作起到了最重要的作用。我們所設計的基于流量分析的網絡監控系統是基于Winpcap 進行開發的,采用Visual C+作為開發平臺,MySQL 作為后臺的數據庫管理系統,提供良好的用戶管理界面,可以實現對本地網絡流量的實時監控包括數字監控,流量監控等,從而對網絡數據進行分析,并提供異常流量的報警功能?!?關鍵詞 】網絡監控 流量分析 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網絡流量監控系統的研究意義1 27 HYPERLINK l _Toc168689814 1.2 網絡流量監控系統的研究內容8 HYPERLINK l _Toc168689815 1.3 論文的組織結構8 HYPERLINK l _Toc168689816 第二章 根本概念介紹9 HYPERLINK l _Toc168689817 2.1 Winpcap 協議介紹3

8、9 HYPERLINK l _Toc168689818 2.1.1 Winpcap 概念9 HYPERLINK l _Toc168689819 2.1.2 Winpcap 的功能及應用 PAGEREF _Toc168689819 h 10 HYPERLINK l _Toc168689820 2.1.3 Winpcap進行網絡數據包的捕獲和過濾的步驟 PAGEREF _Toc168689820 h 11 HYPERLINK l _Toc168689821 2.2以太網 PAGEREF _Toc168689821 h 11 HYPERLINK l _Toc168689822 以太網根本概念 PAG

9、EREF _Toc168689822 h 11 HYPERLINK l _Toc168689823 網絡數據包捕獲的原理 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 第三章 系統詳細設計與實現 PAGEREF _Toc168689827 h 18 HYPERLINK l _Toc168689828 3.1 系統開發目的及設計目標 PAGEREF _Toc168689828 h 18 HYPERLINK l _Toc168689829 3.2 系統整體設計思想 PAGEREF _Toc168689829 h 18 HYPERLINK l _Toc168689830 3.3 后臺捕獲分析模塊詳細設計5 PAGEREF _Toc168689830 h 20 HYPERLINK l _Toc168689831 3.3.1 數據

11、包的捕獲原理 PAGEREF _Toc168689831 h 20 HYPERLINK l _Toc168689832 3.3.2 對捕獲的數據包的分析 PAGEREF _Toc168689832 h 21 HYPERLINK l _Toc168689833 3.3.3 將分析的結果存入數據庫 PAGEREF _Toc168689833 h 22 HYPERLINK l _Toc168689834 3.4 流量分析系統的數據庫設計 PAGEREF _Toc168689834 h 23 HYPERLINK l _Toc168689835 3.4.1 數據庫設計對整個系統的影響 PAGEREF _

12、Toc168689835 h 23 HYPERLINK l _Toc168689836 3.4.2 數據庫的需求分析 PAGEREF _Toc168689836 h 23 HYPERLINK l _Toc168689837 3.4.3 數據庫的邏輯設計 PAGEREF _Toc168689837 h 23 HYPERLINK l _Toc168689838 3.5 前臺圖形顯示模塊設計 PAGEREF _Toc168689838 h 24 HYPERLINK l _Toc168689839 3.6 對異常流量的報警 PAGEREF _Toc168689839 h 25 HYPERLINK l

13、_Toc168689840 3.7 系統實現效果圖 PAGEREF _Toc168689840 h 25 HYPERLINK l _Toc168689841 第四章 總結29 HYPERLINK l _Toc168689842 致謝 PAGEREF _Toc168689842 h 30 HYPERLINK l _Toc168689843 參考文獻 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網絡流量監控系統的研究意義1 2自20世紀90年代以來,隨著Internet在全世界范圍的普及,計算機網絡已經逐漸成為了人們獲取信息、發布信息的重要途徑。全世界的計算機都將通過Internet聯到一起,這些網絡的開展使得大到國家經濟命脈小到個人日常生活嚴重依賴于計算機網絡??梢哉f,計算機網絡,作為新世紀的重要工具,已經滲透到了社會生活中的各個領域,對我們的工作、學習、娛樂、經濟, 以及生活中的各個方面,都有著

21、深遠的影響。同時,隨著人們對網絡信息系統以來的日益增強,網絡正在逐步改變人們的工作方式和生活方式,成為當今社會開展的一個主題。在人類進入信息化時代的今天,人們對信息的平安傳輸、平安存儲、平安處理的要求越來越顯得十分迫切和重要,它不僅關系到戰爭的勝負,國家的安危,科技的進步,經濟的開展,而且也關系到每個人的切身利益。但是,網絡成為一把雙刃劍,隨著計算機網絡技術的開展,各類網絡規模的擴大,遠程訪問的增加,虛擬專用網VPN的出現和Internet 的普及,隨之而來的就是網絡的平安性問題。計算機網絡在加速人類社會信息化的同時,也給信息平安保障帶來了極大的挑戰。網絡犯罪已是屢見不鮮,呈逐年上升趨勢。因此

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

23、能立即做出反響,來保護自己的效勞器不被破壞,以求獲得平安性的同時,提高網絡性能。1.2 網絡流量監控系統的研究內容在本課題中,基于流量分析的網絡監控系統是以監控用戶網絡流量情況、防范黑客攻擊進行入侵檢測為主要目的而進行開發的?;赪inpcap 協議來完成網絡數據包的捕獲,通過對所捕獲數據包的內容進行統計分析,完成對網絡流量的監控分析和對可能發生的拒絕效勞攻擊進行檢測等功能?;诹髁糠治龅木W絡監控系統是基于以太網進行開發,利用Winpcap 協議進行工作,采用Visual C+作為開發平臺,MySqL 作為后臺的數據庫管理系統,提供良好的用戶管理界面,可以實現對本地網絡流量的實時監控、統計分析

24、,并提供異常流量的報警功能,從而能對網絡中可能存在的拒絕效勞攻擊進行檢測。系統使用C 語言編寫后臺監控程序和前臺的界面顯示,MySqL 作為流量分析系統的數據庫管理系統,以MySql 數據庫作為前后臺交互的中間層。1.3 論文的組織結構基于流量分析的網絡監控系統的論文組織結構如下: 從第二章起我將從以下幾個方面進行說明: 第二章、介紹流量分析系統根本的概念和相關的技術知識; 第三章、介紹系統的詳細設計方案,實現方法和實驗結果分析等; 第四章、全文總結。第二章 根本概念介紹由于本基于流量分析的網絡監控系統是基于Winpcap 協議進行開發,在以太網中進行工作,采用Visual C+作為開發平臺,

25、MySQL 作為后臺的數據庫管理系統,從而對網絡中的異常數據進行檢測和報警,因此本章將從Winpcap協議、以太網、Visual C+、MySQL、拒絕效勞攻擊等幾個方面分別進行介紹。2.1 Winpcap 協議介紹3 Winpcap 概念Winpcap是由伯克利分組捕獲庫派生而來的分組捕獲庫,它是在Windows操作平臺上來實現對底層包的截取過濾。Winpcap為用戶級的數據包提供了Windows下的一個平臺。Winpcap是BPF模型和Libpcap函數庫在Windows平臺下網絡數據包捕獲和網絡狀態分析的一種體系結構,這個體系結構是由一個核心的包過濾驅動程序,一個底層的動態連接庫Pack

26、et.dll和一個高層的獨立于系統的函數庫Libpcap組成。底層的包捕獲驅動程序實際為一個協議網絡驅動程序,通過對NDIS中函數的調用為Win95、Win98、WinNT、和Win2000提供一類似于UNIX系統下BerkeleyPacketFilter的捕獲和發送原始數據包的能力。Packet.dll是對這個BPF驅動程序進行訪問的API接口,同時它有一套符合Libpcap接口UNIX下的捕獲函數庫的函數庫。Winpcap結構如圖21所示:Winpcap包括三個局部:第一個模塊NPF(NetgroupPacketFilter),是一個虛擬設備驅動程序文件。它的功能是過濾數據包,并把這些數據

27、包原封不動地傳給用戶態模塊,這個過程中包括了一些操作系統特有的代碼;第二個模塊packet.dll為win32平臺提供了一個公共的接口。不同版本的Windows系統都有自己的內核模塊和用戶層模塊。Packet.dll用于解決這些不同。調用Packet.dll的程序可以運行在不同版本的Windows平臺上,而無需重新編譯;第三個模塊Wpcap.dll是不依賴于操作系統的。它提供了更加高層、抽象的函數。 圖21 Winpcap結構圖packet.dll和Wpcap.dll:packet.dll那么直接映射了內核的調用。Wpcap.dll提供了更加友好、功能更加強大的函數調用。Winpcap的優勢提

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

29、信息。 Winpcap進行網絡數據包的捕獲和過濾的步驟Winpcap對數據包的捕獲大致流程如如圖22所示:(1)翻開網卡,并設為混雜模式。(2回調函數 Network Tap 在得到監聽命令后,從網絡設備驅動程序處收集數據包把監聽到的數據包負責傳送給過濾程序。(3當 Packet filter 監聽到有數據包到達時,NDIS 中間驅動程序首先調用分組驅動程序,該程序將數據傳遞給每一個參與進程的分組過濾程序。(4然后由 Packet filter 過濾程序決定哪些數據包應該丟棄,哪些數據包應該接收,是否需要將接收到的數據拷貝到相應的應用程序。(5通過分組過濾器后,將數據未過濾掉的數據包提交給核心

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

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

32、細纜,10Base-5同軸粗纜。轉發器或集線器:集線器或轉發器是用來接收網絡設備上的大量以太網連接的一類設備。通過某個連接的接收雙方獲得的數據被重新使用并發送到傳輸雙方中所有連接設備上,以獲得傳輸型設備。網橋:網橋屬于第二層設備,負責將網絡劃分為獨立的沖突域獲分段,到達能在同一個域/分段中維持播送及共享的目標。網橋中包括一份涵蓋所有分段和轉發幀的表格,以確保分段內及其周圍的通信行為正常進行。交換機:交換機,與網橋相同,也屬于第二層設備,且是一種多端口設備。交換機所支持的功能類似于網橋,但它比網橋更具有的優勢是,它可以臨時將任意兩個端口連接在一起。交換機包括一個交換矩陣,通過它可以迅速連接端口或

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

34、miscuous時,由于采用以太網播送信道爭用的方式,使得監聽系統與正常通信的網絡能夠并聯連接,并可以捕獲任何一個在同一沖突域上傳輸的數據包。IEEE802.3 標準的以太網采用的是持續 CSMA 的方式,正是由于以太網采用這種播送信道爭用的方式,使得各個站點可以獲得其他站點發送的數據。運用這一原理使信息捕獲系統能夠攔截的我們所要的信息,這是捕獲數據包的物理根底。以太網是一種總線型的網絡,從邏輯上來看是由一條總線和多個連接在總線上的站點所組成各個站點采用上面提到的 CSMA/CD 協議進行信道的爭用和共享。每個站點這里特指計算機通過的接口卡網卡來實現這種功能。網卡主要的工作是完成對于總線當前狀

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

36、式Direct Model:工作在直接模式下的網卡只接收目地址是自己 Mac地址的幀。4混雜模式Promiscuous Model:工作在混雜模式下的網卡接收所有的流過網卡的幀,信包捕獲程序就是在這種模式下運行的。網卡的缺省工作模式包含播送模式和直接模式,即它只接收播送幀和發給自己的幀。如果采用混雜模式,一個站點的網卡將接受同一網絡內所有站點所發送的數據包這樣就可以到達對于網絡信息監視捕獲的目的。2.3 Visual C+ 介紹4C 語言是近年來在國內外得到迅速推廣應用的一種計算機語言,C 語言功能豐富,表達能力強,使用靈活方便,應用面廣,目標程序效率高,可移植性好,既具有高級語言的優點,又具

37、有低級語言的許多特點。因此,C 語言特別適合于編寫系統軟件。Miscrosift Visual Studio 是微軟公司出品的創立高性能解決方案的最有效的工具之一。Visual Studio 主要包括Visual C+,Visual Bacic,Visual FoxPro 等。其中,Visual C+簡稱VC 或VC+,是基于C 和C+語言,主要是由MFC 組成,是與系統聯系非常緊密的編程工具,它兼有高級,和低級語言的雙重性,功能強大,靈活,執行效率高,幾乎可說Visual C+在Windows 平臺無所不能。Visual C+是Windows 編程的主要工具,與Windows 的緊密結合使它

38、在軟件底層開發上占有非常大的優勢。Visual C+具有如下優點:與Windows 的緊密結合、強大的類庫支持和類改造能力、高效率的運行速度。Visual C+ 的適用范圍及特點: 1Visual C+主要是針對Windows 系統,適合一些系統級的開發,可以方便實現一些底層的調用。在VC 里邊嵌入匯編語言很簡單。2Visual C+主要用在驅動程序開發3Visual C+執行效率高,當對系統性能要求很高的時候,可用Visual C+開發。4Visual C+主要適用于游戲開發5Visual C+多用于單片機,工業控制等軟件開發,如直接對I/O 地址操作,就要用C+。6Visual C+適用開

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

40、、買藥、住院、治療、康復等一系列程序。掛號就要登記病人姓名、性別、年齡等情況。買藥的時候醫院依據藥單從成千上萬種藥物中挑出符合要求的藥品, 需要知道藥的品名、具體位置、庫存多少、存取多少等等。如果病人很多,醫院選藥就很麻煩了。如果手工處理,工作量大,而且有可能調拿錯藥。這時如果通過數據庫處理,只需簡單地輸入藥品名就馬上可以知道具體位置、庫存還有多少等詳細情況。這樣是不是很方便、提高了效率,并且還防止了拿錯藥的情況?,F在每一個人的生活幾乎都離不開數據庫,如果沒有數據庫,很多事情都會變得非常棘手,也許根本無法做得到。銀行、大學和圖書館就是幾個嚴重依賴數據庫系統的地方。在互聯網上,使用搜索引擎、在線

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

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

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

44、l of Service 的簡稱,即拒絕效勞,造成DoS 的攻擊行為被稱為DoS 攻擊,其目的是使計算機或網絡無法提供正常的效勞。最常見的DoS 攻擊有計算機網絡帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網絡,使得所有可用網絡資源都被消耗殆盡, 最后導致合法的用戶請求就無法通過。連通性攻擊指用大量的連接請求沖擊計算機,使得所有可用的操作系統資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。分布式拒絕效勞(DDoS:Distributed Denial of Service)攻擊指借助于客戶/效勞器技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動DoS 攻擊,從而成倍地提

45、高拒絕效勞攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS 主控程序安裝在一個計算機上,在一個設定的時間主控程序將與大量代理程序通訊,代理程序已經被安裝在Internet 上的許多計算機上。代理程序收到指令時就發動攻擊。利用客戶/效勞器技術,主控程序能在幾秒鐘內激活成百上千次代理程序的運行。 DDoS又把DoS又向前開展了一大步,這種分布式拒絕效勞攻擊是黑客利用在已經侵入并已控制的不同的高帶寬主機可能是數百,甚至成千上萬臺上安裝大量的DoS效勞程序,它們等待來自中央攻擊控制中心的命令,中央攻擊控制中心在適時啟動全體受控主機的DoS效勞進程,讓它們對一個特定目標發送盡可能多的網絡訪問請求,形成

46、一股DoS洪流沖擊目標系統,猛烈的DoS攻擊同一個網站。在寡不敵眾的力量抗衡下,被攻擊的目標網站會很快失去反響而不能及時處理正常的訪問甚至系統癱瘓崩潰??梢奃DoS與DoS的最大區別是人多力量大。DoS是一臺機器攻擊目標,DDoS是被中央攻擊中心控制的很多臺機器利用他們的高帶寬攻擊目標,可更容易地將目標網站攻下。另外,DDoS攻擊方式較為自動化,攻擊者可以把他的程序安裝到網絡中的多臺機器上,所采用的這種攻擊方式很難被攻擊對象發覺,直到攻擊者發下統一的攻擊命令,這些機器才同時發起進攻??梢哉fDDoS攻擊是由黑客集中控制發動的一組DoS攻擊的集合,現在這種方式被認為是最有效的攻擊形式,并且非常難以

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

48、狀態甚至死機。第三章 系統詳細設計與實現前面我們對基于流量分析的網絡監控系統的進行了分析,并對相關的技術進行了介紹,在本章中我們將給出詳細的設計方案及實現效果。3.1 系統開發目的及設計目標本流量分析系統將用來動態檢測子網內的網絡流量,實現針對不同網絡協議和不同網絡效勞的相關數據包流量的實時分析,提供圖形化分析工具,把分析所得的結果通過折線圖圖形化的界面顯示出來,并將檢測數據保存到數據庫。在監視網絡流量的根底上,通過制定一定的監控策略,對網絡環境中出現的流量異常情況,用戶可以自主查詢數據包的具體信息,從而使用戶能及時的采取相應的預防或補救的措施。3.2 系統整體設計思想根據流量分析系統的開發目

49、的及設計目標,將系統定位于一個包含捕獲分析、統計入庫、前臺顯示數據顯示、圖形顯示三大模塊的綜合系統。系統主界面如圖31所示:圖31 網絡流量監控系統主界面其中,捕獲分析模塊是系統的后臺運行程序,主要負責的是,通過使用Winpcap 協議, 對通過所監聽的網絡適配器的所有數據包進行捕獲、分析,這一局部主要采用Visual C+來編寫,由于沒有只是一些底層的操作,而且沒有對所捕獲的數據進行顯示的需求,所以編寫的是控制臺下的程序。統計入庫模塊是基于前一個捕獲分析模塊所捕獲并且分析過的數據包,對得到分析結果的數據包進行分類統計包括基于不同網絡協議或者不同網絡效勞,并把統計的結果存入到MySQL 數據庫

50、中,以供前臺顯示程序調用。該模塊主要的任務就是MySQL 數據庫中建立好用于存儲捕獲分析模塊分析所得的結果的數據庫及指定的表格,建立好Visual C+對MySQL數據庫的連接,最后就是將所得的結果存入指定的數據庫中。圖形監控模塊是基于前一個統計入庫模塊中存入MySQL 數據庫中相應的表格中的統計數據,將前面統計入庫的數據用圖形化顯示出來流量分析的結果來,方便用戶直觀的看到網絡流量的具體狀況。警報數據查詢是基于已存入MySQL數據庫中的統計數據,讓用戶用過報警數據設置自主的查詢異常數據,從而有效的對攻擊做出有效的防范。系統的總體流程大致是:用戶啟動程序,后臺捕獲分析模塊對指定的網絡適配器進行監

51、聽,當有數據包通過網絡適配器的時候即被程序所捕獲,程序立即對捕獲的數據包進行分析,并將分析所得的結果統計后存入數據庫中,前臺主程序同時查詢到剛剛存入數據庫的統計數據記錄,將其讀出,并用圖形化的形式顯示在用戶界面上。3.3 后臺捕獲分析模塊詳細設計5 數據包的捕獲原理數據包的捕獲是本系統中最為重要的一個環節,因為整個流量分析系統的所有后續工作都是以數據包的捕獲作為前提的,都是以所捕獲的數據包作為根底,進而才有在此根底上的分析、統計、存儲、顯示,報警等等后續的工作。捕獲數據包的具體步驟如下: 1獲得網絡接口列表通常, 一個基于WinPcap 的應用程序所要做的第一件事, 就是獲得適合的網絡接口的列

52、表. Libpcap 中的pcap_findalldevs()函數就是用來獲得適合的網絡接口的列表的,返回一個pcap_if 結構的列表。由pcap_findalldevs() 函數返回的pcap_if 結構也包含了一個pcap_addr 結構的列表, 它記錄了以下信息: 1. 接口的地址列表2. 接口的掩碼列表(與地址列表一一對應) 3. 接口的播送地址列表(與地址列表一一對應) 4. 目標地址列表(與地址列表一一對應) 2翻開捕捉設備使用函數pcap_open_live() 來翻開一個捕捉設備. 函數原型: pcap_t * pcap_open_live (char *device, in

53、t snaplen, int promisc, int to_ms, char *ebuf) pcap_open_live()的第四個參數(to_ms)定義了采樣的間隔,在本系統中將此參數設置為1000,即系統捕獲數據包進行分析統計的時間間隔是1 秒。流量監控系統監控所得的結果都是每秒鐘通過的數據包的流量。3設置過濾器過濾數據的函數是pcap_compile() 和pcap_setfilter()來實現的pcap_compile() 和pcap_setfilter()是用來編輯過濾器和設置過濾器的pcap_compile()來編譯一個過濾設備,它通過一個高層的boolean 型變量和字串產生一

54、系列的能夠被底層驅動所解釋的二進制編碼。boolean 表示語法能夠在這個文件的過濾表示語法中找到。pcap_setfilter() 用來聯系一個在內核驅動上過濾的過濾器,這時所有網絡數據包都將流經過濾器,并拷貝到應用程序中。4捕捉數據包pcap_dispatch() 或者pcap_loop() 函數都可以用來捕捉數據包。這兩個函數非常相似,pcap_dispatch() 將會在超時后直接返回,而pcap_loop() 那么一定要等到一定數量的數據包被處理了以后才會返回,也可以用pcap_next_ex()來代替pcap_loop()來捕獲數據包。以下捕獲數據包的主要代碼:/* 開始捕獲數據包

55、*/ pcap_loop(adhandle, 0, packet_handler, NULL); 其中:packet_handler 是處理包的函數5保存捕獲的數據包Winpcap為我們提供了很多API 來將流經網絡的數據包保存到一個堆文件并讀取堆的內容。系統中采用pcap_live_dump 將數據寫到文件。pcap_live_dump 有三個參數:一個文件名,和一個該文件允許的最大長度還有一個參數是該文件所允許的最大包的數量。對這些參數來說0 意味著沒有最大限制。這里,我們可以在調用pcap_live_dump()前設置一個過濾器來定義哪些數據報需要存儲,并且可以用pcap_live_du

56、mp_ended()來等檢查是否數據存儲完畢。需要說明的是,pcap_live_dump()是Winpcap 所特有的,而且只能夠應用于Win32 環境。6 收集網絡流量的統計信息WinPcap 的另一高級功能:收集網絡流量的統計信息。程序必須翻開一個網卡并用pcap_setmode()將其設置為統計模式。在統計模式下編寫一個程序來監視TCP 流量只是幾行代碼的事情在設置為統計模式前可以設置一個過濾器來指定要捕獲的協議包。如果沒有設置過濾器那么整個網絡數據都將被監視。一旦設置了過濾器就可以調用pcap_setmode() 來設置為統計模式,之后網卡開始工作在統計模式下。主要的代碼如下: /*

57、將網卡設置為統計模式*/ pcap_setmode(fp, MODE_STAT); 對捕獲的數據包的分析對前面所捕獲的數據包,我們都要進行一定的分析,才能得到我們所要的結果??梢愿鶕到y的開發目的及設計目標來確定分析的具體深入程度。本系統中是以針對不同網絡協議和不同網絡效勞的相關數據包流量的實時分析為主要目的,所以只需對數據包分析出每個數據包的所基于的網絡協議類型和網絡效勞的類型即端口號這一層面上。最后再對分析出來的數據包按照不同的網絡協議類型或者不同的網絡效勞類型進行分類統計。程序中根據IP 頭部的proto 字段的數值來判斷所屬的網絡協議類型。具體分析的主要代碼如下:/根據通訊協議TCP,

58、UDP,ICMP來統計數據包的量/協議類型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; /根據TCP 的標志SYN來判斷是否為新建連接if(th-th_flags=2) tcpnewnum=tcpnewnum+1; 將分析的結果存入數據庫前面程序已經捕獲的數據

59、包進行分析,并且根據數據包所屬的不同的網絡協議類型或者不同的網絡效勞進行了分類,并且用參數進行各種數據包的數量的統計,現在這個階段就是要將這些統計的結果存入到數據庫中。首先,要在程序中建立對MySQL 數據庫的初始化連接,在程序中主要通過一段mysqldb_init()的函數來實現,調用MySQL 提供的API 中的mysql_init、mysql_real_connect 等函數來連接數據庫,連接成功后,在指定的數據庫中建立用來存儲統計數據的表,然后每隔一秒鐘,將這一秒鐘所統計的流量數據存入到數據庫中的這個表中。其中主要的代碼如下: /連接MySQL 數據庫mysql_real_connec

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

溫馨提示

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

評論

0/150

提交評論