

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 本科畢業(yè)論文</b></p><p> (科研訓練、畢業(yè)設計)</p><p> 題 目:網(wǎng)絡流量監(jiān)控系統(tǒng)</p><p><b> 姓 名:</b></p><p> 學 院:軟件學院</p><p><b>
2、 系:</b></p><p> 專 業(yè):軟件工程</p><p><b> 年 級: </b></p><p><b> 學 號:</b></p><p> 指導教師(校內(nèi)): 職稱: </p><p><b
3、> 年 月</b></p><p><b> 摘 要</b></p><p> 隨著電子信息產(chǎn)業(yè)的迅速發(fā)展,互聯(lián)網(wǎng)作為信息社會傳播信息資源的工具已經(jīng)愈發(fā)重要。網(wǎng)絡已然成為信息化社會中必不可少的一部分。計算機網(wǎng)絡的高度發(fā)展,網(wǎng)絡攻擊,網(wǎng)絡犯罪等各類網(wǎng)絡安全性問題也隨之而來,網(wǎng)絡管理己變得日益重要。網(wǎng)絡流量分析作為網(wǎng)絡管理的一個重要的基礎,對網(wǎng)
4、絡的流量進行實時的監(jiān)控,為后續(xù)的網(wǎng)絡管理工作,網(wǎng)絡黑客攻擊防范工作有著重要的意義。</p><p> 論文主要工作圍繞網(wǎng)絡流量監(jiān)控系統(tǒng)的設計與實現(xiàn)展開,將異常流量檢測的分析模塊作為底層,以WINPCAP的網(wǎng)絡訪問系統(tǒng)為基礎,以C#作為開發(fā)平臺,借助Microsoft SQL Server作為后臺的數(shù)據(jù)庫管理,提供簡潔明快的用戶管理界面,實現(xiàn)對本地網(wǎng)絡流量的實時監(jiān)控,對常見的UDP,TCP及ICMP等協(xié)議的數(shù)據(jù)流
5、量進行每秒的檢測統(tǒng)計,并將流量數(shù)據(jù)導入數(shù)據(jù)庫,對超出警戒限制的流量數(shù)據(jù)進行匯總,以供用戶對本地網(wǎng)絡中可能存在的諸如拒絕服務攻擊等安全隱患進行檢測分析,并及時作出相應的防范和補救措施,更好的進行網(wǎng)絡管理。</p><p> [關鍵詞] 實時監(jiān)控,流量統(tǒng)計,Winpcap,SQL Server</p><p><b> Abstract</b></p>
6、<p> With the electronic information industry is developing rapidly, the Internet information society as a tool for the dissemination of information resources has become more important. Information network has beco
7、me an essential part of the community. The highly developed computer network, network attacks, cyber-crime, and other network security problems attendant, network management has become increasingly important. Analysis of
8、 network traffic network management as an important foundation for the </p><p> Key words: Real-time monitoring, Traffic statistics, Winpcap,SQL Server</p><p><b> 目錄</b></p>
9、<p><b> 第一章 緒論1</b></p><p> 1.1 網(wǎng)絡流量測量研究背景和意義1</p><p> 1.2 本文研究內(nèi)容1</p><p> 1.3 論文組織結構2</p><p> 第二章 基本概念介紹3</p><p> 2.1 以太網(wǎng)簡介3
10、</p><p> 2.1.1 以太網(wǎng)的簡史3</p><p> 2.1.2 OSI參考模型4</p><p> 2.1.3 以太網(wǎng)基本網(wǎng)絡組成4</p><p> 2.2 IP/TCP協(xié)議4</p><p> 2.2.1 TCP/IP整體構架概述5</p><p> 2.
11、2.2 TCP/IP中的協(xié)議5</p><p> 2.3 UDP協(xié)議6</p><p> 2.4 ICMP協(xié)議6</p><p> 2.5 Winpcap協(xié)議介紹7</p><p> 2.5.1 Winpcap 的組成7</p><p> 2.5.2 Winpacp的功能7</p>
12、<p> 2.6 系統(tǒng)開發(fā)工具簡介8</p><p> 2.6.1 C#簡介8</p><p> 2.6.2 Mirsoft SQL Server簡介9</p><p> 第三章 系統(tǒng)詳細設計11</p><p> 3.1系統(tǒng)開發(fā)目的及設計目標11</p><p> 3.2 系統(tǒng)整體設計
13、思想12</p><p> 3.3 數(shù)據(jù)包捕獲分析13</p><p> 3.3.1 網(wǎng)絡數(shù)據(jù)包捕獲原理14</p><p> 3.3.2 Winpcap進行網(wǎng)絡數(shù)據(jù)包的捕獲和過濾的設計步驟15</p><p> 3.3.3 數(shù)據(jù)包捕獲的具體實現(xiàn)16</p><p> 3.3.4 對捕獲數(shù)據(jù)包的分析
14、17</p><p> 3.3.5 將分析的結果存入數(shù)據(jù)庫18</p><p> 3.4 數(shù)據(jù)庫的設計18</p><p> 3.5 實時監(jiān)控設計19</p><p> 3.5.1 數(shù)字監(jiān)控19</p><p> 3.5.2 圖形監(jiān)控19</p><p> 3.6 數(shù)據(jù)查
15、詢和刪除29</p><p> 3.6.1 歷史數(shù)據(jù)查詢和統(tǒng)計20</p><p> 3.6.2 報警設置、數(shù)據(jù)刷新、刪除20</p><p> 3.7界面處理20</p><p> 第四章 系統(tǒng)實現(xiàn)結果21</p><p> 4.1 后臺服務21</p><p> 4.
16、2 實時監(jiān)控22</p><p> 4.3 報警設定24</p><p> 4.4 歷史數(shù)據(jù)統(tǒng)計模塊25</p><p> 第五章 結束語27</p><p><b> 參考文獻29</b></p><p><b> 致謝31</b></p>
17、<p><b> Contents</b></p><p> Chapter 1 Introduction1</p><p> 1.1 the background and significance of Web traffic measuring1</p><p> 1.2 the content In this p
18、aper2</p><p> 1.3 organizational structure2</p><p> Chapter 2 Basic concepts introduCED3</p><p> 2.1 Brief History of Ethernet3</p><p> 2.1.1 Ethernet Introduct
19、ion4</p><p> 2.1.2 OSI Reference Model4</p><p> 2.1.3 Basic Ethernet network composed5</p><p> 2.2 IP/TCP protocol5</p><p> 2.2.1 TCP/IP overall framework outli
20、ned6</p><p> 2.2.2 TCP/IP protocol6</p><p> 2.3 UDP protocol7</p><p> 2.4 ICMP protocol7</p><p> 2.5 Winpcap protocol7</p><p> 2.5.1 Winpcap comp
21、osition7</p><p> 2.5.2 Winpacp features8</p><p> 2.6 System Tools Overview8</p><p> 2.6.1 C# Introduction8</p><p> 2.6.2 Mirsoft SQL Server Introduction9</p
22、><p> Chapter 3 System Design11</p><p> 3.1 The purpose of systems development and design goals11</p><p> 3.2 system overall design concept12</p><p> 3.3 packet cap
23、ture13</p><p> 3.3.1 network packet capture Principle13</p><p> 3.3.2 Winpcap network packet capture and filter design steps14</p><p> 3.3.3 capture the specific data packets
24、to achieve15</p><p> 3.3.4 capture data packets16</p><p> 3.3.5 will analyse the results in the datab16</p><p> 3.4 database design17</p><p> 3.5 real-time moni
25、toring design17</p><p> 3.5.1 digital monitoring18</p><p> 3.5.2 graphical control18</p><p> 3.6 data query and remove19</p><p> 3.6.1 historical data query and
26、 statistical19</p><p> 3.6.2 alarm settings, data refresh, delete20</p><p> 3.7 interface20</p><p> Chapter 4 system achieve results21</p><p> 4.1 behind21<
27、/p><p> 4.2 real-time monitoring22</p><p> 4.3 alarm settings24</p><p> 4.4 historical data statistics module25</p><p> Chapter 5 Concluding remarks27</p>&
28、lt;p> References29</p><p><b> Thanks31</b></p><p><b> 第一章 緒論</b></p><p> 1.1 網(wǎng)絡流量測量研究背景和意義</p><p> 隨著Internet 的飛速發(fā)展,網(wǎng)絡規(guī)模的不斷擴大,網(wǎng)絡傳輸速度和容
29、量的快速增長以及網(wǎng)絡應用和業(yè)務種類的快速發(fā)展,使得Internet 成為一個綜合數(shù)據(jù)、語音、視頻等多媒體服務的平臺。同時,網(wǎng)絡技術的快速發(fā)展,不斷涌現(xiàn)的新的網(wǎng)絡協(xié)議以及網(wǎng)絡流量成指數(shù)倍的增長,網(wǎng)絡的異構性特點也越來越明顯,這使得網(wǎng)絡測量和建模十分困難。</p><p> 近年來國內(nèi)外相關的研究大都是通過對大量的流量數(shù)據(jù)進行分析,找出能反映網(wǎng)絡真實特性的數(shù)學模型,如自相似模型等,但仍然不能全面客觀地反映網(wǎng)絡的真實
30、狀態(tài)和面貌??梢哉f,Internet一直沒有得到有效的檢測,我們?nèi)狈W(wǎng)絡性能的理解和預測。事實上,要達到上述目的,采用網(wǎng)絡測量獲取真實的流量數(shù)據(jù),并對這些數(shù)據(jù)進行細致充分的定性定量分析,是較為有效的方法。網(wǎng)絡流量測量是網(wǎng)絡流量管理的基礎和重要內(nèi)容,特別是對于Internet 這樣大型復雜的骨干網(wǎng)絡來說更為重要。流量測量還可以實現(xiàn)監(jiān)測擁塞鏈路,預警拒絕服務攻擊,實施流量工程,滿足服務等級合約的QoS 策略設計等功能。因此,研究Inter
31、net 的測量方法并且實現(xiàn)相應的測量系統(tǒng)是至關重要的。</p><p> 網(wǎng)絡流量測量具有多方面的作用,也是網(wǎng)絡流量管理的基礎和重要內(nèi)容,特別是對于Internet 這樣大型復雜的骨干網(wǎng)絡來說更為重要。因此,研究Internet 的測量方法并且實現(xiàn)相應的測量系統(tǒng)是至關重要的。網(wǎng)絡安全監(jiān)控是保障計算機網(wǎng)絡系統(tǒng)安全運行,防止各種惡意竊取,防止各種破壞性攻擊的重要的安全技術。同時,網(wǎng)絡監(jiān)控也是網(wǎng)絡管理的信息收集工具,
32、它為網(wǎng)絡管理提供必要的信息,對把握網(wǎng)絡的發(fā)展方向以及發(fā)現(xiàn)網(wǎng)絡故障都有一定的意義。</p><p> 基于流量分析的網(wǎng)絡監(jiān)控系統(tǒng),就是在這樣的背景下產(chǎn)生的。所有的有關于網(wǎng)絡安全監(jiān)控的系統(tǒng)及研究,都是以流量的監(jiān)控分析作為基礎的。</p><p> 網(wǎng)絡流量監(jiān)控系統(tǒng)就是對網(wǎng)絡內(nèi)到達本地服務器的所有數(shù)據(jù)包進行截取和分析,掌握當前網(wǎng)絡總流量,同時可以根據(jù)不同的需要對特定端口或特定外部地址進行監(jiān)視
33、,防止非法入侵,以保障本地網(wǎng)絡系統(tǒng)的安全和穩(wěn)定。</p><p> 它的主要意義在于實現(xiàn)了網(wǎng)絡監(jiān)控。隨著內(nèi)部網(wǎng)絡的規(guī)模與容量的日漸擴大,保持系統(tǒng)的正常運作將會變得越來越重要。網(wǎng)絡監(jiān)控能使系統(tǒng)及時地發(fā)現(xiàn)網(wǎng)絡流量異常的現(xiàn)象,使服務器在發(fā)現(xiàn)非法入侵后能立即做出反應,來保護自己的服務器不被破壞,以求獲得安全性的同時,提高網(wǎng)絡性能。</p><p> 1.2 本文研究內(nèi)容</p>
34、<p> 互聯(lián)網(wǎng)絡中,無論是應用業(yè)務種類還是流量規(guī)模都在飛速發(fā)展。不斷變化的網(wǎng)絡需要相應靈活的監(jiān)控工具幫助網(wǎng)絡管理者及時了解網(wǎng)絡狀態(tài),以便于進行網(wǎng)絡規(guī)劃及故障排除。</p><p> 目前,網(wǎng)絡流量監(jiān)控系統(tǒng)正受到越來越多的關注,我們有必要認識它、了解它,并最終應用它,讓它幫助我們解決各種各樣的網(wǎng)絡問題。</p><p> 本文設計完成的基于流量分析的網(wǎng)絡監(jiān)控系統(tǒng)是以監(jiān)控用戶
35、網(wǎng)絡流量情況、防范黑客攻擊進行入侵檢測為主要目的而進行開發(fā)的?;赪inpcap 協(xié)議來完成網(wǎng)絡數(shù)據(jù)包的捕獲,通過對所捕獲數(shù)據(jù)包的內(nèi)容進行統(tǒng)計分析,完成對網(wǎng)絡流量的監(jiān)控分析和對可能發(fā)生的拒絕服務攻擊進行檢測等功能。</p><p> 本系統(tǒng)是基于Winpcap 協(xié)議進行開發(fā)的,采用.NET作為開發(fā)平臺,Mirsoft SQL Server 作為后臺的數(shù)據(jù)庫管理系統(tǒng),提供良好的用戶管理界面,可以實現(xiàn)對本地網(wǎng)絡流量
36、的實時監(jiān)控、統(tǒng)計分析,并提供異常流量的查詢功能,從而能對網(wǎng)絡中可能存在的拒絕服務攻擊進行檢測。整個系統(tǒng)使用C#編寫后臺數(shù)據(jù)包捕獲程序及前臺的界面顯示, Mirsoft SQL Server 作為流量分析系統(tǒng)的數(shù)據(jù)庫管理系統(tǒng),以Mirsoft SQL Server 數(shù)據(jù)庫作為前后臺交互的中間層,使后臺數(shù)據(jù)包的捕獲和前臺的數(shù)據(jù)流量實時監(jiān)控以及對歷史數(shù)據(jù)查詢得以很好的實現(xiàn)。</p><p> 1.3 論文組織結構&l
37、t;/p><p> 基于流量分析的網(wǎng)絡監(jiān)控系統(tǒng)的論文組織結構如下:</p><p> 本文將從以下幾個方面進行說明:</p><p><b> 第一章 緒論;</b></p><p> 第二章 介紹流量分析系統(tǒng)基本的概念和相關的技術知識;</p><p> 第三章 介紹系統(tǒng)的詳細設計;<
38、;/p><p> 第四章 介紹系統(tǒng)具體實現(xiàn)結果;</p><p><b> 第五章 結束語;</b></p><p> 第二章 基本概念介紹</p><p> 由于本系統(tǒng)是基于Winpcap協(xié)議的網(wǎng)絡流量監(jiān)控系統(tǒng),實現(xiàn)針對不同網(wǎng)絡協(xié)議和不同網(wǎng)絡服務的相關數(shù)據(jù)包流量的實時分析,并將檢測數(shù)據(jù)保存到數(shù)據(jù)庫。整個系統(tǒng)開發(fā)采用
39、C#實現(xiàn)后臺數(shù)據(jù)包捕獲和實現(xiàn)前臺界面顯示,利用Mirsoft SQL Server實現(xiàn)數(shù)據(jù)存儲。所以在本章中主要對以太網(wǎng)、IP/TCP協(xié)議、UDP和ICMP協(xié)議、Winpcap協(xié)議、Mirsoft SQL Server數(shù)據(jù)庫以及系統(tǒng)開發(fā)工具做詳細介紹。</p><p><b> 2.1 以太網(wǎng)簡介</b></p><p> 以太網(wǎng)(Ethernet)是一種計算機局
40、域網(wǎng)組網(wǎng)技術。IEEE制定的IEEE 802.3標準給出了以太網(wǎng)的技術標準。它規(guī)定了包括物理層的連線、電信號和介質訪問層協(xié)議的內(nèi)容。以太網(wǎng)是當前應用最普遍的局域網(wǎng)技術。它很大程度上取代了其他局域網(wǎng)標準,如令牌環(huán)網(wǎng)、FDDI和ARCNET。 以太網(wǎng)的標準拓撲結構為總線型拓撲,但目前的快速以太網(wǎng)(100BASE-T、1000BASE-T標準)為了最大程度的減少沖突,最大程度的提高網(wǎng)絡速度和使用效率,使用交換機(Switc
41、h)來進行網(wǎng)絡連接和組織,這樣,以太網(wǎng)的拓撲結構就成了星型,但在邏輯上,以太網(wǎng)仍然使用總線型拓撲和 CSMA/CD即帶沖突檢測的載波監(jiān)聽多路訪問) 的總線爭用技術,并以10 Mbps的速率運行在多種類型的電纜上。</p><p> 2.1.1 以太網(wǎng)的簡史</p><p> Ethernet是Xerox、Digital Equipment和Intel三家公司開發(fā)的局
42、域網(wǎng)組網(wǎng)規(guī)范,并于80年代初首次出版,稱為DIX1.0。1982年修改后的版本為DIX2.0。 這三家公司將此規(guī)范提交給IEEE(電子電氣工程師協(xié)會)802委員會,經(jīng)過IEEE成員的修改并通過,變成了IEEE的正式標準,并編號為IEEE802.3。Ethernet和IEEE802.3雖然有很多規(guī)定不同,但術語Ethernet通常認為與802.3是兼容的。IEEE將802.3標準提交國際標準化組織(ISO)第一聯(lián)合技術委員會(JTC1),
43、再次經(jīng)過修訂變成了國際標準ISO8802.3。</p><p> 2.1.2 OSI參考模型</p><p> IEEE802.3在制定時突出的一個基本思想是將系統(tǒng)進行邏輯劃分,并研究如何將連接在一起。我們知道,ISO組織將網(wǎng)絡按其功能劃分為7個功能層,每層都完成某個特定功能。圖2-1-1所示為OSI參考模型。</p><p> 圖2-1-1 OSI模型<
44、;/p><p> 2.1.3 以太網(wǎng)基本網(wǎng)絡組成</p><p> 共享媒體和電纜:10BaseT(雙絞線),10Base-2(同軸細纜),10Base-5(同軸粗纜)。</p><p> 轉發(fā)器或集線器:集線器或轉發(fā)器是用來接收網(wǎng)絡設備上的大量以太網(wǎng)連接的一類設備。通過某個連接的接收雙方獲得的數(shù)據(jù)被重新使用并發(fā)送到傳輸雙方中所有連接設備上,以獲得傳輸型設備。&l
45、t;/p><p> 網(wǎng)橋:網(wǎng)橋屬于第二層設備,負責將網(wǎng)絡劃分為獨立的沖突域或分段,達到能在同一個域/分段中維持廣播及共享的目標。網(wǎng)橋中包括一份涵蓋所有分段和轉發(fā)幀的表格,以確保分段內(nèi)及其周圍的通信行為正常進行。</p><p> 交換機:交換機,與網(wǎng)橋相同,也屬于第二層設備,且是一種多端口設備。交換機所支持的功能類似于網(wǎng)橋,但它比網(wǎng)橋更具有的優(yōu)勢是,它可以臨時將任意兩個端口連接在一起。交換
46、機包括一個交換矩陣,通過它可以迅速連接端口或解除端口連接。與集線器不同,交換機只轉發(fā)從一個端口到其它連接目標節(jié)點且不包含廣播的端口的幀。</p><p> 以太網(wǎng)協(xié)議:IEEE 802.3 標準中提供了以太幀結構。當前以太網(wǎng)支持光纖和雙絞線媒體支持下的四種傳輸速率:</p><p> 10 Mbps – 10Base-T Ethernet(802.3)</p><p
47、> 100 Mbps – Fast Ethernet(802.3u)</p><p> 1000 Mbps – Gigabit Ethernet(802.3z))</p><p> 10 Gigabit Ethernet – IEEE 802.3ae</p><p> 2.2 IP/TCP協(xié)議</p><p> TCP/IP
48、協(xié)議是在60 年代由麻省理工學院和一些商業(yè)組織為美國國防部開發(fā)的。TCP/IP協(xié)議是支持Internet/Intranet 的基本通信協(xié)議。傳輸控制協(xié)議TCP(Transmission Control Protocol),負責數(shù)據(jù)的流量控制,并保證傳輸?shù)恼_性;網(wǎng)際協(xié)議IP(Internet Protocol),負責將數(shù)據(jù)從一處傳往另一處。TCP/IP 協(xié)議具有廣泛的兼容性和可伸縮性,可連接不同的計算機網(wǎng)絡協(xié)議、不同的網(wǎng)絡設備。TCP/
49、IP 已成為網(wǎng)絡互連事實上的標準,并成為支持Internet/Intranet 的協(xié)議標準。</p><p> 2.2.1 TCP/IP整體構架概述</p><p> TCP/IP協(xié)議并不完全符合OSI的七層參考模型。傳統(tǒng)的開放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型,其中每一層執(zhí)行某一特定任務。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數(shù)據(jù)鏈路層
50、、網(wǎng)路層、傳輸層、會話層、表示層和應用層。而TCP/IP通訊協(xié)議采用了4層的層級結構,每一層都呼叫它的下一層所提供的網(wǎng)絡來完成自己的需求。這4層分別為: </p><p> 應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡遠程訪問協(xié)議(Telnet)等。 傳輸層:在此層中,它提供了節(jié)點間的數(shù)據(jù)傳送服務,如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)等,TCP
51、和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負責傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達并接收。 互連網(wǎng)絡層:負責提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達目的主機(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。 網(wǎng)絡接口層:對實際的網(wǎng)絡媒體的管理,定義如何使用實際網(wǎng)絡(如Ethernet、Serial Line等)來傳送數(shù)據(jù)。</p><p> 2.2.2 TCP/IP中的協(xié)議
52、</p><p><b> IP協(xié)議</b></p><p> 網(wǎng)際協(xié)議IP(Internet Protocol)是TCP/IP的心臟,也是網(wǎng)絡層中最重要的協(xié)議。網(wǎng)際協(xié)議(IP)是一個網(wǎng)絡層協(xié)議,它包含尋址信息和控制信息 ,可使數(shù)據(jù)包在網(wǎng)絡中路由。IP 協(xié)議是 TCP/IP 協(xié)議族中的主要網(wǎng)絡層協(xié)議,與 TCP 協(xié)議結合組成整個因特網(wǎng)協(xié)議的核心協(xié)議。IP 協(xié)議同樣
53、都適用于 LAN 和 WAN 通信。</p><p> TCP協(xié)議 傳輸控制協(xié)議TCP(Transfer Control Protocol) 是 TCP/IP 協(xié)議棧中的傳輸層協(xié)議,它通過序列確認以及包重發(fā)機制,提供可靠的數(shù)據(jù)流發(fā)送和到應用程序的虛擬連接服務。與 IP 協(xié)議相結合, TCP 組成了因特網(wǎng)協(xié)議的核心。</p><p> 關于流數(shù)據(jù)傳輸 ,TCP 交付一個由序列號
54、定義的無結構的字節(jié)流。 這個服務對應用程序有利,因為在送出到 TCP 之前應用程序不需要將數(shù)據(jù)劃分成塊, TCP 可以將字節(jié)整合成字段,然后傳給 IP 進行發(fā)送。</p><p> TCP 通過面向連接的、端到端的可靠數(shù)據(jù)報發(fā)送來保證可靠性。 TCP 在字節(jié)上加上一個遞進的確認序列號來告訴接收者發(fā)送者期望收到的下一個字節(jié)。如果在規(guī)定時間內(nèi),沒有收到關于這個包的確認響應,重新發(fā)送此包。</p>&l
55、t;p><b> 2.3 UDP協(xié)議</b></p><p> 用戶數(shù)據(jù)報協(xié)議UDP(User Datagram Protocol)是 ISO 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務的簡單不可靠信息傳送服務。 UDP 協(xié)議基本上是 IP 協(xié)議與上層協(xié)議的接口。 UDP 協(xié)議適用端口分辨運行在同一臺設備上的多個應用程序。</p><p> 與 TCP
56、 不同, UDP 并不提供對 IP 協(xié)議的可靠機制、流控制以及錯誤恢復功能等。由于 UDP 比較簡單, UDP 頭包含很少的字節(jié),比 TCP 負載消耗少。</p><p> UDP 適用于不需要 TCP 可靠機制的情形,比如,當高層協(xié)議或應用程序提供錯誤和流控制功能的時候。 UDP 是傳輸層協(xié)議,服務于很多知名應用層協(xié)議,包括網(wǎng)絡文件系統(tǒng)(NFS)、簡單網(wǎng)絡管理協(xié)議(SNMP)、域名系統(tǒng)(DNS)以及簡單文件傳
57、輸系統(tǒng)(TFTP)。</p><p> 2.4 ICMP協(xié)議</p><p> Internet 控制信息協(xié)議ICMP(Internet Control Message Protocol)是 IP 組的一個整合部分。通過 IP 包傳送的 ICMP 信息主要用于涉及網(wǎng)絡操作或錯誤操作的不可達信息。ICMP 包發(fā)送是不可靠的,所以主機不能依靠接收 ICMP 包解決任何網(wǎng)絡問題。ICMP 的
58、主要功能有:通告網(wǎng)絡錯誤、通告網(wǎng)絡擁塞、協(xié)助解決故障、通告超時。</p><p><b> 協(xié)議結構如下:</b></p><p> 2.5 Winpcap協(xié)議介紹</p><p> Winpcap是一個免費公開的軟件系統(tǒng)。它用于windows系統(tǒng)下的直接的網(wǎng)絡編程。大多數(shù)網(wǎng)絡應用程序訪問網(wǎng)絡是通過廣泛使用的套接字。這種方法很容易實現(xiàn)網(wǎng)絡
59、數(shù)據(jù)傳輸,因為操作系統(tǒng)負責底層的細節(jié)(比如協(xié)議棧,數(shù)據(jù)流組裝等)以及提供了類似于文件讀寫的函數(shù)接口。</p><p> 2.5.1 Winpcap 的組成</p><p> 第一個模塊NPF(Netgroup Packet Filter),是一個虛擬設備驅動程序文件。它的功能是過濾數(shù)據(jù)包,并把這些數(shù)據(jù)包原封不動地傳給用戶態(tài)模塊,這個過程中包括了一些操作系統(tǒng)特有的代碼。</p>
60、;<p> 第二個模塊packet.dll 為win32 平臺提供了一個公共的接口。不同版本的Windows 系統(tǒng)都有自己的內(nèi)核模塊和用戶層模塊。Packet.dll 用于解決這些不同。調(diào)用Packet.dll 的程序可以運行在不同版本的Windows 平臺上,而無需重新編譯。</p><p> 第三個模塊Wpcap.dll 是不依賴于操作系統(tǒng)的。它提供了更加高層、抽象的函數(shù)。packet.dl
61、l直接映射了內(nèi)核的調(diào)用。Wpcap.dll 提供了更加友好、功能更加強大的函數(shù)調(diào)用。</p><p> 2.5.2 Winpacp的功能</p><p> Winpcap 可以為Win32 應用程序提供訪問網(wǎng)絡底層的能力。它提供了以下的各項功能:</p><p> a. 捕獲原始數(shù)據(jù)包,包括在共享網(wǎng)絡上各主機發(fā)送/接收的以及相互之間交換的數(shù)據(jù)包;</p&
62、gt;<p> b. 在數(shù)據(jù)包發(fā)往應用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)包過濾掉;</p><p> c. 在網(wǎng)絡上發(fā)送原始的數(shù)據(jù)包;</p><p> d. 收集網(wǎng)絡通信過程中的統(tǒng)計信息。</p><p> Winpcap 的主要功能在于獨立于主機協(xié)議(如TCP-IP)而發(fā)送和接收原始數(shù)據(jù)報。也就是說,Winpcap 不能阻塞,過濾或
63、控制其他應用程序數(shù)據(jù)報的發(fā)收,它僅僅只是監(jiān)聽共享網(wǎng)絡上傳送的數(shù)據(jù)報。目前基于Winpcap 的應用主要有:WinDump、Analyzer、Ethereal 以及snort,這些軟件能夠捕捉網(wǎng)絡通信、讀取并翻譯來自其他系統(tǒng)的tcpdump 類型二進制數(shù)據(jù)包。另外還有Sniffer,Project URL Snooper,Hidownload 等有特定實際用途的網(wǎng)絡軟件。</p><p> 2.6 系統(tǒng)開發(fā)工具簡
64、介</p><p> 基于流量分析的網(wǎng)絡監(jiān)控系統(tǒng)是基于WINPCAP 進行開發(fā)的,采用C#作為開發(fā)平臺, Mirsoft SQL Server 作為流量分析系統(tǒng)的數(shù)據(jù)庫管理系統(tǒng),以Mirsoft SQL Server 數(shù)據(jù)庫作為前后臺交互的中間層。</p><p> 2.6.1 C#簡介</p><p> C# (C sharp) 是微軟對這一問題的解決方案。
65、C#是一種最新的、面向對象的編程語言。它使得程序員可以快速地編寫各種基于Microsoft .NET平臺的應用程序,Microsoft .NET提供了一系列的工具和服務來最大程度地開發(fā)利用計算與通訊領域。</p><p> C#是一種現(xiàn)代的面向對象語言。它使程序員快速便捷地創(chuàng)建基于Microsoft .NET平臺的解決方案。這種框架使C#組件可以方便地轉化為XML服務,從而使任何平臺的應用程序都可以通過Inte
66、rnet調(diào)用它。</p><p> C#增強了開發(fā)者的效率,同時也致力于消除編程中可能導致嚴重結果的錯誤。C#使C/C++程序員可以快速進行網(wǎng)絡開發(fā),同時也保持了開發(fā)者所需要的強大性和靈活性。</p><p> 2.6.2 Mirsoft SQL Server簡介</p><p> SQL Server 是一個關系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft
67、Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應用。</
68、p><p> SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng),該版本繼承了SQL Server 7.0 版本的優(yōu)點,同時又比它增加了許多更先進的功能。具有使用方便可伸縮性好與相關軟件集成程度高等優(yōu)點,可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2000 的大型多處理器的服務器等多種平臺使用。
69、0;</p><p> 第三章 系統(tǒng)詳細設計</p><p> 前面我們對基于流量分析的網(wǎng)絡監(jiān)控系統(tǒng)的進行了分析,并對相關的技術和開發(fā)工具進行了介紹,在本章中我們將給出詳細的設計方案。</p><p> 3.1系統(tǒng)開發(fā)目的及設計目標</p><p> 本流量分析系統(tǒng)將用來動態(tài)檢測子網(wǎng)內(nèi)的網(wǎng)絡流量,實現(xiàn)針對不同網(wǎng)絡協(xié)議和不同網(wǎng)絡服務的相
70、關數(shù)據(jù)包流量的實時分析,提供圖形化分析工具,把分析所得的結果通過如折線圖、柱狀圖、餅狀圖等圖形化的界面顯示出來,并將檢測數(shù)據(jù)保存到數(shù)據(jù)庫。在監(jiān)視網(wǎng)絡流量的基礎上,通過制定一定的監(jiān)控策略,對網(wǎng)絡環(huán)境中出現(xiàn)的流量異常情況,按警戒要求匯總,使用戶能及時的采取相應的預防或補救的措施。</p><p> 3.2 系統(tǒng)整體設計思想</p><p> 根據(jù)流量分析系統(tǒng)的開發(fā)目的及設計目標,將系統(tǒng)定位
71、于一個包含數(shù)據(jù)包捕獲分析和數(shù)據(jù)存儲、實時監(jiān)控、數(shù)據(jù)查詢與報警三個模塊。</p><p> 其中,捕獲分析模塊是系統(tǒng)的后臺運行程序,主要負責的是,通過使用Winpcap 協(xié)議,對通過所監(jiān)聽的網(wǎng)絡適配器的所有數(shù)據(jù)包進行捕獲。這一部分屬于一些底層的操作,并且沒有對所捕獲的數(shù)據(jù)進行顯示,而是通過前臺用戶界面調(diào)用數(shù)據(jù)庫數(shù)據(jù)實現(xiàn)數(shù)據(jù)的實時監(jiān)控功能。數(shù)據(jù)存儲是基于前一個捕獲分析模塊所捕獲并且分析過的數(shù)據(jù)包,對得到分析結果的數(shù)
72、據(jù)包進行分類統(tǒng)計(基于不同網(wǎng)絡協(xié)議或者不同網(wǎng)絡服務),并把統(tǒng)計的結果存入到Mirsoft SQL Server 數(shù)據(jù)庫中,以供前臺顯示程序調(diào)用。該模塊主要的任務就是Mirsoft SQL Server 數(shù)據(jù)庫中建立好用于存儲捕獲分析模塊分析所得的結果的數(shù)據(jù)庫及指定的表格,建立好.NET對Mirsoft SQL Server 數(shù)據(jù)庫的連接,最后就是將所得的結果存入指定的數(shù)據(jù)庫中。</p><p> 實時監(jiān)控模塊主
73、要分數(shù)字監(jiān)控和圖形監(jiān)控兩個部分。其中數(shù)字監(jiān)控主要通過連接數(shù)據(jù)庫,每秒刷新一次數(shù)據(jù)庫數(shù)據(jù)然后將查詢所得的數(shù)據(jù)分類在前臺顯示實現(xiàn)實時監(jiān)控,而圖形監(jiān)控是采用柱狀圖的形式顯示用戶計算機當前的輸出流量、輸入流量、總流量,也是每秒刷新一次數(shù)據(jù)。</p><p> 數(shù)據(jù)查詢與報警模塊主要實現(xiàn)對后臺捕獲程序捕獲的所有歷史數(shù)據(jù)包進行分類查詢,并且通過報警設置子模塊對滿足設置的數(shù)據(jù)進行篩選匯總。</p><p&
74、gt; 系統(tǒng)整體流程如圖3-2-1所示:</p><p> 圖3-2-1 系統(tǒng)整體流程圖</p><p> 3.3 數(shù)據(jù)包捕獲分析</p><p> 此模塊是整個系統(tǒng)得以實現(xiàn)的關鍵部分,只有在后臺捕獲數(shù)據(jù)包的情況下系統(tǒng)才能進行后續(xù)操作。</p><p> 3.3.1 網(wǎng)絡數(shù)據(jù)包捕獲原理</p><p> 以
75、太網(wǎng)(Ethernet)具有共享介質的特征,信息是以明文的形式在網(wǎng)絡上傳輸,當網(wǎng)絡適配器設置為監(jiān)聽模式(混雜模式,Promiscuous)時,由于采用以太網(wǎng)廣播信道爭用的方式,使得監(jiān)聽系統(tǒng)與正常通信的網(wǎng)絡能夠并聯(lián)連接,并可以捕獲任何一個在同一沖突域上傳輸?shù)臄?shù)據(jù)包。IEEE802.3 標準的以太網(wǎng)采用的是持續(xù) CSMA 的方式,正是由于以太網(wǎng)采用這種廣播信道爭用的方式,使得各個站點可以獲得其他站點發(fā)送的數(shù)據(jù)。運用這一原理使信息捕獲系統(tǒng)能夠
76、攔截的我們所要的信息,這是捕獲數(shù)據(jù)包的物理基礎。 以太網(wǎng)是一種總線型的網(wǎng)絡,從邏輯上來看是由一條總線和多個連接在總線上的站點所組成各個站點采用上面提到的 CSMA/CD 協(xié)議進行信道的爭用和共享。每個站點(這里特指計算機通過的接口卡)網(wǎng)卡來實現(xiàn)這種功能。網(wǎng)卡主要的工作是完成對于總線當前狀態(tài)的探測,確定是否進行數(shù)據(jù)的傳送,判斷每個物理數(shù)據(jù)幀目的地是否為本站地址,如果不匹配,則說明不是發(fā)送到本站的而將它丟棄。如果是的話,接收該數(shù)據(jù)幀
77、,進行物理數(shù)據(jù)幀的 CRC 校驗,然后將數(shù)據(jù)幀提交給LLC 子層。</p><p> 3.3.2 Winpcap進行網(wǎng)絡數(shù)據(jù)包的捕獲和過濾的設計步驟</p><p> 流量分析系統(tǒng)中數(shù)據(jù)包的捕獲主要是通過調(diào)用Winpcap 協(xié)議來捕獲數(shù)據(jù)包的。Winpacp作為一個網(wǎng)絡底層的驅動,提供了許多的API 供開發(fā)人員調(diào)用,這些API 提供了許多不同的功能,通過這些API 可以實現(xiàn)諸多的功能,
78、包括從簡單的基本功能(如獲取網(wǎng)卡的列表,數(shù)據(jù)包的捕獲等)到統(tǒng)計和收集網(wǎng)絡流量等高級功能。主要步驟如下:</p><p> (1)打開網(wǎng)卡,并設為混雜模式。</p><p> ?。?)回調(diào)函數(shù) Network Tap 在得到監(jiān)聽命令后,從網(wǎng)絡設備驅動程序處收集數(shù)據(jù)包把監(jiān)聽到的數(shù)據(jù)包負責傳送給過濾程序。</p><p> 圖3-3-1 基于Winpcap捕獲流程&l
79、t;/p><p> ?。?)當 Packet filter 監(jiān)聽到有數(shù)據(jù)包到達時,NDIS 中間驅動程序首先調(diào)用分組驅動程序,該程序將數(shù)據(jù)傳遞給每一個參與進程的分組過濾程序。</p><p> ?。?)然后由 Packet filter 過濾程序決定哪些數(shù)據(jù)包應該丟棄,哪些數(shù)據(jù)包應該接收,是否需要將接收到的數(shù)據(jù)拷貝到相應的應用程序。</p><p> ?。?)通過分組過
80、濾器后,將數(shù)據(jù)未過濾掉的數(shù)據(jù)包提交給核心緩沖區(qū)。然后等待系統(tǒng)緩沖區(qū)滿后,再將數(shù)據(jù)包拷貝到用戶緩沖區(qū)。監(jiān)聽程序可以直接從用戶緩沖區(qū)中讀取捕獲的數(shù)據(jù)包。</p><p><b> ?。?)關閉網(wǎng)卡。</b></p><p> 圖3-3-2 數(shù)據(jù)包捕獲流程</p><p> 3.3.3 數(shù)據(jù)包捕獲的具體實現(xiàn)</p><p>
81、; 捕獲數(shù)據(jù)包的具體具體實現(xiàn)如下:</p><p> ?。?)獲得網(wǎng)絡接口列表</p><p> 通常, 一個基于WinPcap 的應用程序所要做的第一件事, 就是獲得適合的網(wǎng)絡接口的列表. Libpcap 中的pcap_findalldevs()函數(shù)就是用來獲得適合的網(wǎng)絡接口的列表的,返回一個pcap_if 結構的列表。由pcap_findalldevs() 函數(shù)返回的pcap_if
82、 結構也包含了一個pcap_addr 結構的列表, 它記錄了以下信息:</p><p> 1. 接口的地址列表</p><p> 2. 接口的掩碼列表(與地址列表一一對應)</p><p> 3. 接口的廣播地址列表(與地址列表一一對應)</p><p> 4. 目標地址列表(與地址列表一一對應)</p><p&g
83、t;<b> ?。?)打開捕捉設備</b></p><p> 使用函數(shù)pcap_open_live() 來打開一個捕捉設備.函數(shù)原型:pcap_t * pcap_open_live (char *device, int snaplen, int promisc, int to_ms, char *ebuf)pcap_open_live()的第四個參數(shù)(to_ms)定義了采樣的間隔,在本系統(tǒng)
84、中將此參數(shù)設置為1000,即系統(tǒng)捕獲數(shù)據(jù)包進行分析統(tǒng)計的時間間隔是1 秒。流量監(jiān)控系統(tǒng)監(jiān)控所得的結果都是每秒鐘通過的數(shù)據(jù)包的流量。</p><p><b> ?。?)設置過濾器</b></p><p> 過濾數(shù)據(jù)的函數(shù)是pcap_compile() 和pcap_setfilter()來實現(xiàn)的pcap_compile() 和pcap_setfilter()是用來編輯過
85、濾器和設置過濾器的pcap_compile()來編譯一個過濾設備,它通過一個高層的boolean 型變量和字串產(chǎn)生一系列的能夠被底層驅動所解釋的二進制編碼。boolean 表示語法能夠在這個文件的過濾表示語法中找到。pcap_setfilter() 用來聯(lián)系一個在內(nèi)核驅動上過濾的過濾器,這時所有網(wǎng)絡數(shù)據(jù)包都將流經(jīng)過濾器,并拷貝到應用程序中。</p><p><b> ?。?)捕捉數(shù)據(jù)包</b>
86、;</p><p> pcap_dispatch() 或者pcap_loop() 函數(shù)都可以用來捕捉數(shù)據(jù)包。這兩個函數(shù)非常相似,pcap_dispatch() 將會在超時后直接返回,而pcap_loop() 則一定要等到一定數(shù)量的數(shù)據(jù)包被處理了以后才會返回,也可以用pcap_next_ex()來代替pcap_loop()來捕獲數(shù)據(jù)包。以下捕獲數(shù)據(jù)包的主要代碼:</p><p> /*
87、開始捕獲數(shù)據(jù)包*/</p><p> pcap_loop(adhandle, 0, packet_handler, NULL);</p><p> 其中:packet_handler 是處理包的函數(shù)</p><p> (5)保存捕獲的數(shù)據(jù)包</p><p> WINPCAP 為我們提供了很多API 來將流經(jīng)網(wǎng)絡的數(shù)據(jù)包保存到一個堆文件
88、并讀取堆的內(nèi)容。系統(tǒng)中采用pcap_live_dump 將數(shù)據(jù)寫到文件。pcap_live_dump 有三個參數(shù):一個文件名,和一個該文件允許的最大長度還有一個參數(shù)是該文件所允許的最大包的數(shù)量。對這些參數(shù)來說0 意味著沒有最大限制。</p><p> 這里,我們可以在調(diào)用pcap_live_dump()前設置一個過濾器來定義哪些數(shù)據(jù)報需要存儲,并且可以用pcap_live_dump_ended()來等檢查是否數(shù)
89、據(jù)存儲完畢。</p><p> 需要說明的是,pcap_live_dump()是WinPcap 所特有的,而且只能夠應用于Win32 環(huán)境。</p><p> ?。?) 收集網(wǎng)絡流量的統(tǒng)計信息</p><p> WinPcap 的另一高級功能:收集網(wǎng)絡流量的統(tǒng)計信息。程序必須打開一個網(wǎng)卡并用</p><p> pcap_setmode(
90、)將其設置為統(tǒng)計模式。在統(tǒng)計模式下編寫一個程序來監(jiān)視TCP 流量只是幾</p><p> 行代碼的事情在設置為統(tǒng)計模式前可以設置一個過濾器來指定要捕獲的協(xié)議包。如果沒有</p><p> 設置過濾器那么整個網(wǎng)絡數(shù)據(jù)都將被監(jiān)視。一旦設置了過濾器就可以調(diào)用pcap_setmode()</p><p> 來設置為統(tǒng)計模式,之后網(wǎng)卡開始工作在統(tǒng)計模式下。</p&
91、gt;<p> 3.3.4 對捕獲數(shù)據(jù)包的分析</p><p> 對前面所捕獲的數(shù)據(jù)包,我們都要進行一定的分析,才能得到我們所要的結果。可以根據(jù)系統(tǒng)的開發(fā)目的及設計目標來確定分析的具體深入程度。本系統(tǒng)中是以針對不同網(wǎng)絡協(xié)議和不同網(wǎng)絡服務的相關數(shù)據(jù)包流量的實時分析為主要目的,所以只需對數(shù)據(jù)包分析出每個數(shù)據(jù)包的所基于的網(wǎng)絡協(xié)議類型和網(wǎng)絡服務的類型(即端口號)這一層面上。最后再對分析出來的數(shù)據(jù)包按照不
92、同的網(wǎng)絡協(xié)議類型或者不同的網(wǎng)絡服務類型進行分類統(tǒng)計。程序中根據(jù)IP頭部的proto 字段的數(shù)值來判斷所屬的網(wǎng)絡協(xié)議類型。</p><p> 3.3.5 將分析的結果存入數(shù)據(jù)庫</p><p> 前面程序已經(jīng)捕獲的數(shù)據(jù)包進行分析,并且根據(jù)數(shù)據(jù)包所屬的不同的網(wǎng)絡協(xié)議類型或者不同的網(wǎng)絡服務進行了分類,并且用參數(shù)進行各種數(shù)據(jù)包的數(shù)量的統(tǒng)計,現(xiàn)在這個階段就是要將這些統(tǒng)計的結果存入到數(shù)據(jù)庫中。首先
93、,要在程序中建立對Mirsoft SQL Server 數(shù)據(jù)庫的初始化連接,在程序中主要通過一段Mirsoft SQL Serverdb_init()的函數(shù)來實現(xiàn),調(diào)用Mirsoft SQL Server 提供的API 中的Mirsoft SQL Server_init、Mirsoft SQL Server_real_connect 等函數(shù)來連接數(shù)據(jù)庫,連接成功后,在指定的數(shù)據(jù)庫中建立用來存儲統(tǒng)計數(shù)據(jù)的表,然后每隔一秒鐘,將這一秒鐘所統(tǒng)
94、計的流量數(shù)據(jù)存入到數(shù)據(jù)庫中的這個表中。</p><p> 3.4 數(shù)據(jù)庫的設計</p><p> 于在本系統(tǒng)中,數(shù)據(jù)庫扮演著一個中介橋梁的作用,是用來連接貫穿前臺后臺程序的重要模塊,系統(tǒng)中的所有的數(shù)據(jù)都要在這個數(shù)據(jù)庫中進行存入、中轉、輸出等等。所以說,數(shù)據(jù)庫設計的好壞,直接影響到整個系統(tǒng)運行的效率高低。如果說,后臺的數(shù)據(jù)包捕獲模塊是系統(tǒng)成功運行的前提的話,那么數(shù)據(jù)庫存儲模塊則是整個系統(tǒng)
95、的中心,是系統(tǒng)最關鍵的模塊。</p><p> 數(shù)據(jù)庫中存儲數(shù)據(jù)最重要的部分就是每秒鐘通過網(wǎng)絡適配器的各種類型的數(shù)據(jù)包的數(shù)量的即時數(shù)據(jù)。所以,數(shù)據(jù)庫中主要用兩個表來存儲這些數(shù)據(jù),表INFO存儲基于不同網(wǎng)絡協(xié)議類型的統(tǒng)計數(shù)據(jù)和基于不同網(wǎng)絡服務類型的統(tǒng)計數(shù)據(jù)用,還有一個表Alarm用來存儲報警數(shù)據(jù),前臺程序查詢數(shù)據(jù)庫時同時檢測是否有流量異常的情況,如果有,將報警數(shù)據(jù)存入報警數(shù)據(jù)表中。</p><
96、p> 用來存儲捕獲分析模塊所分析統(tǒng)計的結果,主要存儲的是每一次采樣的時間、數(shù)據(jù)包的源IP地址、UDP包數(shù)、TCP包數(shù)、ICMP包數(shù)。</p><p> 數(shù)據(jù)存入后效果如圖3-4―1所示:</p><p> 圖3-4-1 數(shù)據(jù)存儲效果截圖</p><p> 3.5 實時監(jiān)控設計</p><p> 此模塊分數(shù)字監(jiān)控和圖形監(jiān)控兩個部
97、分,下面將詳細介紹這兩個部分的設計和實現(xiàn)。</p><p> 3.5.1 數(shù)字監(jiān)控</p><p> 數(shù)字監(jiān)控功能完全基于后臺數(shù)據(jù)包捕獲模塊下實現(xiàn)。捕獲程序每秒捕獲一次數(shù)據(jù)并把數(shù)據(jù)存入Mirsoft SQL Server數(shù)據(jù)庫的NetmonitorInfo表中,當啟動數(shù)字監(jiān)控功能時,系統(tǒng)通過連接數(shù)據(jù)庫并且每秒刷新數(shù)據(jù)庫,把數(shù)據(jù)庫中的新記錄添加到主界面列表框顯示從而達到實時監(jiān)控目的。&l
98、t;/p><p> 3.5.2 圖形監(jiān)控</p><p> 系統(tǒng)調(diào)用任務管理器的數(shù)據(jù),然后采用C#的圖形繪制功能,將數(shù)據(jù)以柱狀圖的形式繪制出來。</p><p> 如圖3-5-1所示:</p><p> 圖3-5-1 流量圖形監(jiān)控截圖</p><p> 3.6 數(shù)據(jù)查詢和刪除</p><p&g
99、t; 此模塊主要用來方便用戶對歷史數(shù)據(jù)的查詢、統(tǒng)計,并且將系統(tǒng)捕獲的異常數(shù)據(jù)匯總給用戶,使用戶能及時的采取相應的措施。</p><p> 3.6.1 歷史數(shù)據(jù)查詢和統(tǒng)計</p><p> 后臺數(shù)據(jù)包捕獲程序捕獲的數(shù)據(jù)都保存在Mirsoft SQL Server數(shù)據(jù)庫的表NetmonitorInfo中,當用戶需要對這些數(shù)據(jù)做查詢、統(tǒng)計、刪除等操作時可以通過此模塊實現(xiàn)。</p>
100、;<p> (1) 歷史數(shù)據(jù)的查詢是通過連接數(shù)據(jù)庫,執(zhí)行select語句查詢數(shù)據(jù)庫記錄,將記錄顯示在對應的主界面列表框實現(xiàn)。</p><p> (2) 歷史數(shù)據(jù)的統(tǒng)計是查詢NetmonitorInfo表中所有記錄,在列表框顯示總記錄數(shù)量和各種數(shù)據(jù)包總數(shù)。</p><p> (3) 清理數(shù)據(jù)是指當用戶不再需要數(shù)據(jù)庫中的所有歷史數(shù)據(jù)時,可以通過此功能刪除表Netmonito
101、rInfo中所有記錄。</p><p> 3.6.2 報警設置、數(shù)據(jù)刷新、刪除</p><p> 網(wǎng)絡流量監(jiān)控系統(tǒng)的一個很重要的功能就是能檢測數(shù)據(jù)包的異常流量,讓用戶及時采取相關措施。用戶通過報警設置模塊設置數(shù)據(jù),當系統(tǒng)檢測到滿足用戶設置的流量限制時判斷為異常數(shù)據(jù),并將這些數(shù)據(jù)存入Mirsoft SQL Server數(shù)據(jù)表Alarm中提供給用戶。</p><p>
102、; (1) 報警設置的實現(xiàn)</p><p> 創(chuàng)建報警設置對話框和對話框類,分別給TCP包數(shù)、UDP包數(shù)、ICMP包數(shù)創(chuàng)建成員變量。</p><p> (2) 報警數(shù)據(jù)篩選、統(tǒng)計</p><p> 當報警數(shù)據(jù)設置完畢之后,系統(tǒng)對Mirsoft SQL Server數(shù)據(jù)庫表NetmonitorInfo中的記錄進行篩選,把所有滿足報警設置的記錄保存到表Alarm
103、中。</p><p> (3) 清理數(shù)據(jù)是指當用戶不再需要數(shù)據(jù)庫中的所有報警數(shù)據(jù)時,可以通過此功能刪除表Alarm中所有記錄。</p><p><b> 3.7界面處理</b></p><p> 程序的界面設計以簡潔明快的風格,非常友好的同用戶交流。</p><p><b> 主要內(nèi)容:</b&g
104、t;</p><p> 按鈕設定:包括了監(jiān)控功能和報警設定及歷史查詢,還有刪除功能。</p><p> 主監(jiān)控窗口中包括了如下方面內(nèi)容:</p><p> 主統(tǒng)計表,包括來源IP地址,主要類型包和其他類型包的累計數(shù)</p><p> 即時流量監(jiān)控圖,直觀的表達了當前的流量</p><p> 詳細流量表,按照每
105、秒一次進行包的統(tǒng)計</p><p> 報警設定窗口:設定具體的警戒限制</p><p> 報警記錄窗口主要包括了如下方面內(nèi)容:</p><p> 詳細歷史數(shù)據(jù)表,記錄了每秒的各類包的統(tǒng)計量和流速</p><p> 報警數(shù)據(jù)表,把超過了限定的流量數(shù)據(jù)匯總</p><p> 第四章 系統(tǒng)實現(xiàn)結果</p>
106、;<p><b> 4.1 后臺服務</b></p><p> 圖4-1-1為SQL Server控制臺</p><p> 圖4-1-1 后臺數(shù)據(jù)庫控制臺</p><p> 圖4-1-2為本地服務管理器</p><p> 圖4-1-2 SQL 本地服務管理器</p><p>
107、;<b> 4.2 實時監(jiān)控</b></p><p> 主程序主要分下列功能模塊:實時監(jiān)控、數(shù)據(jù)清除,報警界限、歷史記錄查看。</p><p> 圖4-2-1為系統(tǒng)運行初始界面:</p><p> 圖4-2-1 系統(tǒng)運行初始界面</p><p> 開始監(jiān)控后,系統(tǒng)會以一秒為間隔對捕獲的數(shù)據(jù)包做實時監(jiān)控。<
108、/p><p> 監(jiān)控主界面在主列表框內(nèi)顯示數(shù)據(jù)包捕獲的時間、源地址IP、IP包數(shù)、TCP包數(shù)、UDP包數(shù)、ICMP包數(shù)</p><p> 如圖4-2-2所示運行主界面:</p><p> 圖4-2-2 實時監(jiān)控主界面</p><p> 圖4-2-3為主統(tǒng)計窗口</p><p> 圖4-2-3 主統(tǒng)計窗口</
109、p><p> 圖4-2-4為每秒詳細流量表</p><p> 圖4-2-4 詳細流量表</p><p> 當選擇清除數(shù)據(jù)時,如圖4-2-5</p><p> 圖4-2-5 清除監(jiān)控數(shù)據(jù)</p><p> 選擇停止監(jiān)控后,最下方將表示該次統(tǒng)計的時間,總流量和網(wǎng)速,如圖4-2-6</p><p&g
110、t; 圖4-2-6 結束監(jiān)控統(tǒng)計</p><p><b> 4.3 報警設定</b></p><p> 選擇了報警界限按鈕后,將出現(xiàn)如下設定對話框,圖4-3-1:</p><p> 圖4-3-1 報警界限設定</p><p> 4.4 歷史數(shù)據(jù)統(tǒng)計模塊</p><p> 此模塊分兩個部
111、分:歷史數(shù)據(jù)的統(tǒng)計、報警數(shù)據(jù)的統(tǒng)計。主要功能是統(tǒng)計Mirsoft SQL Server數(shù)據(jù)庫中表portflowtable和表alarm中記錄的個數(shù)(同時在主界面列表框中顯示捕獲的TCP包、UDP包、ICMP包各自的數(shù)量。</p><p> 點擊,報警記錄 按鈕,出現(xiàn)新的窗口,如圖4-4-1:</p><p> 圖4-4-1 歷史記錄窗口</p><p> 上
112、端窗口為所有的每秒數(shù)據(jù)記錄,圖4-4-2:</p><p> 圖4-4-2 所有記錄窗口</p><p> 為避免遭受攻擊時候不斷彈出報警窗口,我只將報警記錄保存在數(shù)據(jù)庫中,并未作出實際的提示,這項功能可在將來改進,圖4-4-2:</p><p> 圖4-4-2 報警記錄窗口</p><p> 刷新記錄可以獲得最新的數(shù)據(jù)記錄。<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡流量監(jiān)控系統(tǒng)-畢業(yè)論文
- 網(wǎng)絡流量監(jiān)控系統(tǒng)-畢業(yè)論文
- 網(wǎng)絡流量監(jiān)控及分析工具畢業(yè)論文
- 網(wǎng)絡流量監(jiān)控系統(tǒng)-任務書
- 網(wǎng)絡流量監(jiān)控系統(tǒng)-任務書
- 基于流量分析的網(wǎng)絡監(jiān)控系統(tǒng)-畢業(yè)論文
- 基于流量分析的網(wǎng)絡監(jiān)控系統(tǒng)-畢業(yè)論文
- 畢業(yè)論文---網(wǎng)絡流量測量軟件的設計與實現(xiàn)
- 對等網(wǎng)絡流量識別技術研究[畢業(yè)論文]
- 網(wǎng)絡流量監(jiān)控系統(tǒng)的研究和應用.pdf
- 網(wǎng)絡流量監(jiān)控系統(tǒng)的設計與實現(xiàn).pdf
- 網(wǎng)絡流量監(jiān)控系統(tǒng) ——流量分析程序設計-開題報告
- 基于SNMP協(xié)議的網(wǎng)絡流量監(jiān)控系統(tǒng).pdf
- 網(wǎng)絡流量監(jiān)控系統(tǒng) ——流量分析程序設計-開題報告
- 網(wǎng)絡流量應用層特征提取與分析【畢業(yè)論文】
- 網(wǎng)絡視頻監(jiān)控系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---網(wǎng)卡流量的監(jiān)控
- 新型網(wǎng)絡流量行為監(jiān)控系統(tǒng)NBOS的管理系統(tǒng).pdf
- 網(wǎng)絡流量監(jiān)控-第2章 網(wǎng)絡基礎知識
- 畢業(yè)論文---淺談通信網(wǎng)絡流量控制與擁塞控制技術
評論
0/150
提交評論