【正文】
itoring packets information. By using the way of objectoriented, this design makes a needs analysis and ability designing based on the study of work packet collecting and TCP/IP theory. Under the environment of Visual C++, this system adopts VC program technologies of SocketRaw, Windows register and IpHelper API. On the basis of system analysis, it makes a deliberate analysis and test of plans and details to implement packets collecting, traffic monitoring and statistics. So this meets our needs and makes a reference for managers to get to know the work conditions. Key words work management。 traffic analysis。 網(wǎng)絡(luò)流量監(jiān)控的引入 絡(luò)安全管理體系中,流量監(jiān)控和統(tǒng)計分析是整個管理的基礎(chǔ)。網(wǎng)絡(luò)管理員根據(jù)流量數(shù)據(jù)就可以對網(wǎng)絡(luò)主要成分進(jìn)行性能分析管理,發(fā)現(xiàn)性能變化趨勢,并分析出影響網(wǎng)絡(luò)性能的因素及問題所在。在網(wǎng)絡(luò)流量檢測的基礎(chǔ)上,管理員還可對感興趣的網(wǎng)絡(luò)管理對象設(shè)置審查值范圍及配置網(wǎng)絡(luò)性能對象,監(jiān)控實時輪詢網(wǎng)絡(luò)獲取定義對象的當(dāng)前值,若超出審查值的正常預(yù)定值則報警,協(xié)助管理員發(fā)現(xiàn)網(wǎng)絡(luò)瓶頸,這樣就能實現(xiàn)一定程度上的故障管理。 由此可見,對于一個有效的網(wǎng)絡(luò)安全管理系統(tǒng)來說,功能的實現(xiàn)都或多或少的依賴于流量信息的獲取。它的應(yīng)用可以在一定程度上檢測到入侵攻擊,可以有效地幫助管理 人員進(jìn)行網(wǎng)絡(luò)性能管理,并利用報警機制協(xié)助網(wǎng)管人員采取對應(yīng)的安全策略與防護(hù)措施,從而減少入侵攻擊所造成的損失。具體內(nèi)容安排如下:第一章是引言,簡要介紹開發(fā)背景、論文結(jié)構(gòu)安排;第二章介紹數(shù)據(jù)包捕獲與流量檢測的技術(shù)原理;第三章重點介紹網(wǎng)絡(luò)流量監(jiān)測工具的設(shè)計與實現(xiàn)過程,并且詳細(xì)闡述了從系統(tǒng)功能總體設(shè)計、詳細(xì)設(shè)計、具體實現(xiàn)的全部過程。 可以看出,該結(jié)構(gòu)共有七層,各層主要實現(xiàn)如下功能: ( 1)物理層,利用傳輸介質(zhì)實現(xiàn)相鄰節(jié)點間的物理連接,主要對機械、電氣、功能和規(guī)程四個方面及信號傳輸速率方面進(jìn)行規(guī)定; ( 2)數(shù)據(jù)鏈路層,完成管理數(shù)據(jù)的傳輸,提供差錯檢測和恢復(fù),并且提供流量控制,最終實現(xiàn)向上一層提供無差錯、高可靠性的傳輸鏈路; ( 3)網(wǎng)絡(luò)層,執(zhí)行路由算法和流量控制算法,完成數(shù)據(jù)分組傳輸,它是通信子網(wǎng)的最高層; ( 4)傳輸層,提供端到端的無差錯傳輸,同時,它 也提供屬于局通信網(wǎng)絡(luò)接口,比如 SOCKET; ( 5)會話層,完成用戶之間會話的組織、協(xié)調(diào)、分配用戶名等; ( 6)表示層,解決數(shù)據(jù)格式問題,規(guī)定編碼方式; ( 7)應(yīng)用層, OSI 的最高層,利用應(yīng)用進(jìn)程提供網(wǎng)絡(luò)訪問手段。 TCP/IP 的目的是在網(wǎng)絡(luò)標(biāo)準(zhǔn) 不同的情況下解決互聯(lián)問題,可以說,網(wǎng)絡(luò)互聯(lián)是 TCP/IP 的核心。它的四個層次功能如下。此外,傳輸層另外一個功能就是區(qū)別應(yīng)用程序; ( 3)網(wǎng)際層,負(fù)責(zé)計算機之間的通信,采用的協(xié)議是 IP 協(xié)議,數(shù)據(jù)傳送單位是分組,向上提供不可靠的傳輸服務(wù); ( 4)網(wǎng)絡(luò)接口層,負(fù)責(zé)接收數(shù)據(jù)報,并實現(xiàn)發(fā)送,或者接收幀,提取 IP 數(shù)據(jù)報,交給互聯(lián)網(wǎng)層。相比起來, TCP/IP 更注重了數(shù)據(jù)傳輸?shù)男?,?OSI 則注重了傳輸?shù)目煽啃裕? ( 4) TCP/IP 雖然分層,但是調(diào)用關(guān)系并不像 OSI 那樣嚴(yán)格,減少了不必要的開銷,提高了傳輸效率。在 Windows環(huán)境下,可通過網(wǎng)絡(luò)驅(qū)動程序接口規(guī)范( NDIS), WinSock的SOCK_RAW或虛擬設(shè)備驅(qū)動技術(shù)( VxD)等技術(shù)實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲功能。 第一,使用套接字前,需要了解網(wǎng)卡接收數(shù)據(jù)的工作原理: 在正常情 況下,網(wǎng)絡(luò)接口只響應(yīng)兩種數(shù)據(jù)幀,一種是與自己的硬件相匹配的數(shù)據(jù)幀,另一種四向所有計算機廣播的數(shù)據(jù)幀。對于網(wǎng)絡(luò)接口,它一般具有 4種數(shù)據(jù)接收模式:廣播、組播、直接和混雜模式,只有當(dāng)把接口設(shè)置為混雜模式時,網(wǎng)絡(luò)接口才能接收所有的數(shù)據(jù),無論地址是否匹配, 所以在做本設(shè)計的時候一定要設(shè)置為混雜模式才能實現(xiàn)數(shù)據(jù)的采集。 第三,具體到 Windows下利用原始套接字捕獲網(wǎng)絡(luò)數(shù)據(jù)可以這樣設(shè)計:( 1)啟動套接字;( 2)創(chuàng)建一個原始套接字; ( 3)將套接字與本地地址綁定;( 4)設(shè)置操作參數(shù);( 5)設(shè)置網(wǎng)絡(luò)接口為混雜模式;( 6)啟動監(jiān)聽線程,開始接收數(shù)據(jù);( 7)退出關(guān)閉套接字。 ( 2)套接字創(chuàng)建函數(shù) socket SOCKET socket (int af , int type , int protocol)。參數(shù) type是指協(xié)議的套接字類型,采用流式套接字時用 SOCK_STREAM,采用數(shù)據(jù)報套接字時用 SOCK_DGRAM,采用原始套接字時用 SOCK_RAW。 3. 網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)各模塊的設(shè)計與實現(xiàn) 開發(fā)環(huán)境介紹 本設(shè)計開發(fā)平臺采用 Microsoft Visualstudio ,它是目前使用比較廣泛的 Winsock開發(fā)平臺,因此具有較強的適應(yīng)性,能夠在很多的操作系統(tǒng)平臺上運行,設(shè)計后具有直觀的簡潔的操作界面,穩(wěn)定性也比較高。 總合以上系統(tǒng)要求與綜合分析,本系統(tǒng)總體設(shè)計如下,采用 VC++ 編寫,系統(tǒng)具有三個主要功能部分:數(shù)據(jù)捕獲與顯示模塊、流量信息統(tǒng)計模塊、流量繪制模塊,如圖 所示 。同時,在對數(shù)據(jù)包的解析過程中對一些常見入侵攻擊特征進(jìn)行判斷,發(fā)出預(yù)警。 信息統(tǒng)計模塊:完成統(tǒng)計功能,如統(tǒng)計 IP 要實現(xiàn)統(tǒng)計接收到的數(shù)據(jù)報數(shù)量、接收到的數(shù)據(jù)中協(xié)議出錯的數(shù)量、正在請求傳輸?shù)臄?shù)量、路由表中可用路由數(shù)量、丟棄的數(shù)量、需要重組 /成功重組的數(shù)量等,統(tǒng)計 ICMP 需要完 成發(fā)送 /接收的消息數(shù)量、滿足超過 TTL的數(shù)量、重定向數(shù)量、時間戳請求 /應(yīng)答數(shù)量等;采用 IP 助手函數(shù)完成。 流程圖設(shè)計 本系統(tǒng)總體設(shè)計如下,采用 VC++,系統(tǒng)具有三個主要功能部分:數(shù)據(jù)捕獲與顯示模塊、流量信息統(tǒng)計模塊、流量繪制模塊。 CsockSupport類 : 主要負(fù)責(zé)檢查 Socket是否支持 , 在該類中封裝了 WSAStartup完成 Socket的啟動 ; CsockHelper類 : 主要實現(xiàn)了從獲取本機信息結(jié)構(gòu) 、 Socket創(chuàng)建、綁定、設(shè)置、啟動線程、 數(shù)據(jù)接收到協(xié)議 分析的全部方法。 StartCapture方法完成套接字的創(chuàng)建、綁定、設(shè)置操作方式和啟動線程 ;