WinDis 32技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)通信監(jiān)測(cè)論文
時(shí)間:2022-09-13 08:54:00
導(dǎo)語(yǔ):WinDis 32技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)通信監(jiān)測(cè)論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢(xún)客服老師,歡迎參考。
【摘要】本文論述了網(wǎng)絡(luò)通信監(jiān)測(cè)的實(shí)現(xiàn)原理與實(shí)現(xiàn)過(guò)程,遵照國(guó)際標(biāo)準(zhǔn)化開(kāi)放系統(tǒng)互聯(lián)(OSI)七層體系結(jié)構(gòu),利用網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范WinDis32V5.0技術(shù),實(shí)現(xiàn)了在應(yīng)用層對(duì)數(shù)據(jù)鏈路層的控制,完成了對(duì)網(wǎng)上流動(dòng)數(shù)據(jù)幀的實(shí)時(shí)截獲、解封與分析。
【關(guān)鍵詞】網(wǎng)絡(luò)分層WinDis32技術(shù)網(wǎng)絡(luò)信息截獲數(shù)據(jù)幀NDIS網(wǎng)絡(luò)適配器
1.前言
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,各類(lèi)網(wǎng)絡(luò)規(guī)模的擴(kuò)大,遠(yuǎn)程訪問(wèn)的增加,虛擬專(zhuān)用網(wǎng)(VPN)的出現(xiàn)和Internet的普及,網(wǎng)絡(luò)安全性已成為計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域一門(mén)重要的研究學(xué)科。
網(wǎng)絡(luò)監(jiān)控是保障網(wǎng)絡(luò)安全性的基本措施之一。網(wǎng)絡(luò)監(jiān)控,用于監(jiān)測(cè)網(wǎng)上流動(dòng)信息,并對(duì)網(wǎng)絡(luò)信息給予適當(dāng)控制。網(wǎng)絡(luò)監(jiān)控,可用于調(diào)試網(wǎng)絡(luò)應(yīng)用程序,判斷應(yīng)用程序是否正確地發(fā)送或接收了數(shù)據(jù)包。網(wǎng)絡(luò)監(jiān)控,還可用于監(jiān)視網(wǎng)絡(luò)信息,杜絕不健康站點(diǎn)的不健康內(nèi)容,維護(hù)網(wǎng)絡(luò)環(huán)境。應(yīng)用于安全防范,可監(jiān)視我方信息內(nèi)容、保障網(wǎng)絡(luò)安全,截獲情報(bào)、分析懷有敵意方的網(wǎng)站。在計(jì)算機(jī)網(wǎng)絡(luò)上實(shí)施有效的攻擊與保護(hù),是網(wǎng)絡(luò)監(jiān)控技術(shù)在軍事上的重要發(fā)展方向之一。
本文論述的網(wǎng)絡(luò)通信實(shí)時(shí)監(jiān)測(cè)的實(shí)現(xiàn),是用于特殊目的的數(shù)據(jù)通信程序設(shè)計(jì)的突破口,是網(wǎng)絡(luò)監(jiān)控技術(shù)的基礎(chǔ)部分,其實(shí)現(xiàn)基于網(wǎng)絡(luò)體系結(jié)構(gòu)與WinDis32技術(shù)。
2.網(wǎng)絡(luò)體系結(jié)構(gòu)
現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)是按高度的結(jié)構(gòu)化方式進(jìn)行的,國(guó)際標(biāo)準(zhǔn)化組織(ISO)為更廣泛的計(jì)算機(jī)互聯(lián)制定了標(biāo)準(zhǔn)化的開(kāi)放系統(tǒng)互聯(lián)(OSI)網(wǎng)絡(luò)體系結(jié)構(gòu),如圖1所示。
OSI參考模型用結(jié)構(gòu)描述方法,即分層描述的方法,將整個(gè)網(wǎng)絡(luò)的通信功能劃分為七個(gè)部分(也叫七個(gè)層次),每層各自完成一定的功能。由低層至高層分別稱(chēng)為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層。兩臺(tái)網(wǎng)絡(luò)主機(jī)之間進(jìn)行通信時(shí),發(fā)送方將數(shù)據(jù)從應(yīng)用層向下傳遞到物理層,每一層協(xié)議模塊為下一層進(jìn)行數(shù)據(jù)封裝,數(shù)據(jù)流經(jīng)網(wǎng)絡(luò),到達(dá)接收方,接著再由下而上通過(guò)協(xié)議棧傳遞,并與接收方應(yīng)用程序進(jìn)行通信。
在通用網(wǎng)絡(luò)中,數(shù)據(jù)鏈路層由網(wǎng)絡(luò)適配器實(shí)現(xiàn),本文中網(wǎng)絡(luò)通信監(jiān)測(cè)的立足點(diǎn)在于數(shù)據(jù)鏈路層,基于電纜是固有的廣播性介質(zhì),通過(guò)對(duì)網(wǎng)絡(luò)適配器的控制,實(shí)時(shí)截獲與分析經(jīng)過(guò)網(wǎng)絡(luò)適配器的所有網(wǎng)上流動(dòng)信息。
3.WinDis32技術(shù)
WinDis32全稱(chēng)為Win32NDIS(NetworkDriverInterfaceSpecification)網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范,用于開(kāi)發(fā)Windows產(chǎn)品,可在Windows9X和WindowsNT上直接訪問(wèn)NDIS媒體訪問(wèn)控制(MAC)驅(qū)動(dòng)接口。圖2顯示了Windows網(wǎng)絡(luò)驅(qū)動(dòng)組件與Win32NDIS結(jié)構(gòu)組件:
圖2.Windows網(wǎng)絡(luò)驅(qū)動(dòng)組件與Win32NDIS結(jié)構(gòu)組件
WinDis32網(wǎng)絡(luò)組件由四部分組成:NDIS適配器、PCANDIS5NDIS協(xié)議驅(qū)動(dòng)、W32N50WinDis32APIDLL、WinDis32應(yīng)用程序。WinDis32應(yīng)用程序調(diào)用W32N50.DLL動(dòng)態(tài)鏈接庫(kù)提供的API應(yīng)用程序接口,通過(guò)NDIS協(xié)議驅(qū)動(dòng)模塊,實(shí)現(xiàn)對(duì)NDIS適配器進(jìn)行的存取操作。網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范NDIS的主要特征是所有適配器相關(guān)驅(qū)動(dòng)均由NDIS接口打包,例如,最底層NDISNIC驅(qū)動(dòng)不能對(duì)網(wǎng)卡直接執(zhí)行I/O,它通過(guò)NDIS打包服務(wù)來(lái)訪問(wèn)硬件;高層WindowsNDIS網(wǎng)絡(luò)組件使用NDIS打包界面與適配器相關(guān)驅(qū)動(dòng)通信。只有NDIS協(xié)議驅(qū)動(dòng)可以調(diào)用NDIS打包,訪問(wèn)NDIS適配器。
WinDis32應(yīng)用程序接口函數(shù)包括:W32N_OpenAdapter(),打開(kāi)一個(gè)已被命名的NDIS適配驅(qū)動(dòng)器,若操作成功,則生成一個(gè)面向適配器對(duì)象的WinDis32適配器句柄,這一句柄被隨后多個(gè)在該適配器上操作的W32N_XXX函數(shù)所用;W32N_CloseAdapter(),關(guān)閉已打開(kāi)的適配器句柄;W32N_PacketRead(),數(shù)據(jù)幀讀操作;W32N_PacketReadEx(),數(shù)據(jù)幀異步讀操作;W32N_PacketSend(),發(fā)送數(shù)據(jù)幀操作;W32N_PacketSendEx()、W32N_MakeNdisRequest()等等。
WinDis32技術(shù)使得從Win32應(yīng)用層進(jìn)行NDIS請(qǐng)求如同在一個(gè)內(nèi)核模式的驅(qū)動(dòng)器內(nèi)部進(jìn)行請(qǐng)求一樣簡(jiǎn)單,并支持多個(gè)網(wǎng)絡(luò)適配器同時(shí)打開(kāi),完成各自的信息發(fā)送與接收。
4.網(wǎng)絡(luò)信息監(jiān)測(cè)的實(shí)現(xiàn)
網(wǎng)絡(luò)信息監(jiān)測(cè)程序分為信息截獲與信息分析兩大部分,其中信息截獲程序流程如圖3所示,采用多進(jìn)程與多線程技術(shù),完成數(shù)據(jù)的實(shí)時(shí)截獲。
其中網(wǎng)絡(luò)適配器列表通過(guò)讀取系統(tǒng)注冊(cè)表生成;網(wǎng)絡(luò)適配器詳細(xì)信息包括適配器型號(hào)、網(wǎng)絡(luò)適配器物理地址、傳輸最大幀、傳輸速率以及機(jī)內(nèi)標(biāo)識(shí)符,通過(guò)函數(shù)W32N_MakeNdisRequest()獲得。
協(xié)議過(guò)濾部分是包括PCAUSA端口的PCANDIS5協(xié)議驅(qū)動(dòng),BPF過(guò)濾器是由UNIX環(huán)境到Windows的模擬機(jī)制,為Win32應(yīng)用程序提供了一種普通而又便利的機(jī)制,可過(guò)濾指定協(xié)議,由協(xié)議驅(qū)動(dòng)執(zhí)行,拒絕不想要的數(shù)據(jù)幀。支持協(xié)議包括:傳輸控制協(xié)議TCP、互連網(wǎng)協(xié)議IP、地址解析協(xié)議ARP、反向地址解析協(xié)議RARP、互連網(wǎng)控制報(bào)文協(xié)議ICMP、互連網(wǎng)組管理協(xié)議IGMP、NovellSPX/IPX協(xié)議IPX、用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP、NetBEUI協(xié)議、AppleTalk協(xié)議。
信息分析部分利用已獲知的媒體訪問(wèn)控制協(xié)議,提取出數(shù)據(jù)幀中的有效域值,如源主機(jī)物理地址、目的主機(jī)物理地址、幀長(zhǎng)度等。并同時(shí)為每一被截獲的數(shù)據(jù)包打上時(shí)標(biāo),注上序列號(hào),為下一步數(shù)據(jù)重組提供可靠依據(jù)。
接收數(shù)據(jù)幀顯示與信息統(tǒng)計(jì)結(jié)果范例如下:
包序列號(hào):0000000032時(shí)間:0005860470msec長(zhǎng)度:54/54
Ethernet目的:00.40.05.39.A2.B0源:00.00.B4.86.74.FA類(lèi)型:0x0800
000000:00400539A2B00000:B48674FA08004500.@.9......t...E.
000010:0028260340002006:A3256464647A6464.(&.@...%dddzdd
000020:64650406008B0040:BF14006C24B95010de.....@...l$.P.
000030:223812EA0000:"8..............
包序列號(hào):0000000033時(shí)間:0005860764msec長(zhǎng)度:109/109
Ethernet目的:00.40.05.39.A2.B0源:00.00.B4.86.74.FA類(lèi)型:0x0800
000000:00400539A2B00000:B48674FA08004500.@.9......t...E.
000010:005F270340002006:A1EE6464647A6464._''''.@....dddzdd
000020:64650406008B0040:BF14006C24B95018de.....@...l$.P.
000030:2238DEC600000000:0033FF534D421A00"8.......3.SMB..
000040:0000000000800000:0000000000000000................
000050:00000308252D0308:014C080108008010....%-...L......
000060:0000100000000000:0000000000................
包序列號(hào):0000000034時(shí)間:0005860766msec長(zhǎng)度:1514/1514
Ethernet目的:00.00.B4.86.74.FA源:00.40.05.39.A2.B0類(lèi)型0x0800
000000:0000B48674FA0040:0539A2B008004500....t..@.9....E.
000010:05DC640B40008006:FF68646464656464..d.@....hdddedd
000020:647A008B0406006C:24B90040BF4B5010dz.....l$..@.KP.
000030:20B786DA00000000:10007E8B77DAD2D0.........~.w...
000040:D727599A8F18D377:15D56C860F2C623E
...
停止數(shù)據(jù)幀接收
應(yīng)用統(tǒng)計(jì):
已接收數(shù)據(jù)幀數(shù)目:34
已發(fā)送數(shù)據(jù)幀數(shù)目:0
5.進(jìn)一步研究與發(fā)展
本文所研究的網(wǎng)絡(luò)信息監(jiān)測(cè)屬于計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)安全對(duì)策研究的一部分,屬于網(wǎng)絡(luò)信息監(jiān)測(cè)的基礎(chǔ)性研究。以此研究成果為基礎(chǔ),可進(jìn)行進(jìn)一步的軟件開(kāi)發(fā),從而實(shí)現(xiàn)網(wǎng)絡(luò)通信狀況實(shí)時(shí)監(jiān)測(cè)、情報(bào)獲取、網(wǎng)上各站點(diǎn)地址分析、站點(diǎn)類(lèi)型分析,為計(jì)算機(jī)網(wǎng)絡(luò)的安全維護(hù)提供監(jiān)測(cè)手段,因此,具有特別的意義。
參考文獻(xiàn)
1.PCAUSAWinDis32V5.0文檔1998.3
2.劉錦德等計(jì)算機(jī)網(wǎng)絡(luò)大全電子工業(yè)出版社1997.7
3.KrisJamsa等INTERNET編程電子工業(yè)出版社1996.5
4.DavidJ.KruglinskiVisualC++技術(shù)內(nèi)幕清華大學(xué)出版社1996.5
5.廖湖聲面向?qū)ο蟮腤indows程序設(shè)計(jì)基礎(chǔ)人民郵電出版社1996.2
6.張國(guó)峰C++語(yǔ)言及其程序設(shè)計(jì)教程電子工業(yè)出版社1992.12
7.湯子瀛等計(jì)算機(jī)操作系統(tǒng)西安電子科技大學(xué)出版社1998.4
8.劉彥明等實(shí)用網(wǎng)絡(luò)編程技術(shù)西安電子科技大學(xué)出版社1998.4
9.何莉等計(jì)算機(jī)網(wǎng)絡(luò)概論高等教育出版社1995.4
10.杜毅Unix系統(tǒng)組網(wǎng)技術(shù)電子工業(yè)出版社1998.3、