freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

windows平臺下個人防火墻的設(shè)計與實現(xiàn)畢業(yè)論文-預(yù)覽頁

2024-10-03 16:33 上一頁面

下一頁面
 

【正文】 ..................................................................................................................... 30 致謝 ......................................................................................................................................... 31 windows平臺下個人防火墻的設(shè)計與實現(xiàn) 1 第一章 前言 本章主要闡述 windows 平臺下個人防火墻開發(fā)的相關(guān)背景和課題研究意義,對個人防火墻在國內(nèi)外的發(fā)展現(xiàn)狀作簡要介紹。 因此,為了給用戶提供一個良好的網(wǎng)絡(luò)環(huán)境,需要一種方法來為用戶抵御這類來自網(wǎng)絡(luò)的攻擊。但我們知道,世界上沒有絕對安全的操作系統(tǒng), Windows 也存在很多漏洞,給駭客通過網(wǎng)絡(luò)和系統(tǒng)漏洞對用戶進行攻擊留下了后門,這無疑會給用戶的財產(chǎn)和隱私帶來巨大的損失。 windows平臺下個人防火墻的設(shè)計與實現(xiàn) 2 研究意義 個人防火墻作為作為最常用的網(wǎng)絡(luò)安全工具,其實現(xiàn) 所用到的很多技術(shù)跟企業(yè)級防火墻和硬件防火墻的基本原理是相同的, 可以從研究個人防火墻開始,由淺入深,進而理解企業(yè)級防火墻和硬件防火墻的原理和實現(xiàn)方法。 本文 采用的通過 FilterHook Driver 實現(xiàn)數(shù)據(jù)包攔截的防火墻技術(shù)雖然不是開發(fā)防火墻最好的方法,但對于對這個領(lǐng)域感興趣的個人是一個具實際意義的好的開始。并同時提出了第三代防火墻 — 應(yīng)用層防火墻的概念(或者叫做代理防火墻) 。 ? 1998 年, NAI 公司推出了一種自適應(yīng)代理( Adaptive proxy)技術(shù),并在其產(chǎn)品Gauntlet Firewall for NT 中得以實現(xiàn),給代理類型的防火墻賦予了全新的意義,可以稱之為第五代防火墻。 ? 建立在通用操作系統(tǒng)上的防火墻,顧名思義,就是將防火墻以軟件或硬件的實現(xiàn)方式獨立出來,并配有專用的代理系統(tǒng),以監(jiān)控所有協(xié)議的數(shù)據(jù)和指令,并能保護 用戶的編程空間和可配置內(nèi)核參數(shù)的設(shè)置,這使得防火墻的安全性和速度得到大幅提高。國內(nèi)市場上個人用戶較多的有天網(wǎng)防火墻個人版、金山 網(wǎng)鏢 、瑞星、費爾等常見個人防火墻。 目前很多比較優(yōu)秀著名的個人防火墻多采用復(fù)合型數(shù)據(jù)包過濾技術(shù)進行開發(fā),即采windows平臺下個人防火墻的設(shè)計與實現(xiàn) 4 用兩種或多種封包截獲技術(shù)進行數(shù)據(jù)包的過濾,以達到全面、強大、平臺兼容的效果。本文的整體結(jié)構(gòu)如下: ? 第一章 主要闡述系統(tǒng)開發(fā)的背景和研究意義、國內(nèi)外研究現(xiàn)狀以及本文總體概述。 ? 第五章 主要闡述核心功能的 具體 實現(xiàn) 和 詳細 分析 以及系統(tǒng)測試等 。另 將主要介紹如 FilterHook Driver、 IP 過濾驅(qū)動( IP Filter Driver)等所用到的技術(shù) 。 Winsock2 是 Windows Sockets 的 版本, SPI 是 Winsock2 提供的一個 可編程接口。但無法攔截核心層或不用 Socket 的網(wǎng)絡(luò)通訊(如 ICMP)的數(shù)據(jù)包,容易被木馬或病毒繞過 [3]。 FilterHook Driver 將在后邊進行單獨的介紹。缺點是該驅(qū)動位于 windows平臺下個人防火墻的設(shè)計與實現(xiàn) 6 上,不能獲取由 直接處理的數(shù)據(jù)包,且 TDI 驅(qū)動需重啟系統(tǒng)才能生效。 NDIS 由于是在網(wǎng)卡驅(qū)動程序和傳輸驅(qū)動程序間插入了一層, 其優(yōu)點是過濾功能強大,能截獲所有的數(shù)據(jù)包 ,安全系數(shù)高 [5]。該技術(shù)的實現(xiàn)方法是安裝 Hook 鉤子到 中,替換其中某些關(guān)鍵函數(shù),從而達到截獲網(wǎng)絡(luò)數(shù)據(jù)包的目的 [6]。 FilterHook Driver 國內(nèi)關(guān)于 TDI 和 NDIS 驅(qū)動的資料比較多,但有關(guān) FilterHook Driver 的書籍資料就相對少很多。FilterHook Driver 主要利用 IpFilterDriver( ) 所提供的功能來攔截網(wǎng)絡(luò)數(shù)據(jù)包 ,可應(yīng)用與 TCP\IP 協(xié)議 [7]。 3. 獲得指針后,通過發(fā)送特殊的 IRP 請求安裝過濾函數(shù),該請求傳遞的數(shù)據(jù)包含windows平臺下個人防火墻的設(shè)計與實現(xiàn) 7 了過濾函數(shù)的指針。只有當(dāng) FilterHook 回調(diào)函數(shù)為空時,F(xiàn)ilterHook Driver 才能 向 IP Filter Driver 注冊自己提供的回調(diào)函數(shù),后者調(diào)用提供的回調(diào)函數(shù)來實現(xiàn) FilterHook Driver 控制數(shù)據(jù)包過濾。 TCP\IP 網(wǎng)絡(luò)通信協(xié)議 TCP\IP 協(xié)議 指因特網(wǎng)整個 TCP\IP 協(xié)議族,而不是表面上的 TCP 和 IP 協(xié)議的合稱。 防火墻系統(tǒng)的過濾驅(qū)動模塊工作在 Windows TCP\IP 協(xié)議模型的傳輸層 。 IP 數(shù)據(jù)報由 IP 首部和數(shù)據(jù)組成。 TCP 傳輸控制協(xié)議 TCP 協(xié)議屬于運輸層,向應(yīng)用層提供面向連接的,可靠的字節(jié)流服務(wù)。許多應(yīng)用程序都使用 TCP,如 FTP、 Tel 和 SMTP。源、目端口號指明發(fā)送進程和接收進程; UDP 長度表示 UDP 首部和 UDP 數(shù)據(jù)的字節(jié)長度,最小值為 8byte。 內(nèi)核模式驅(qū)動程序可執(zhí)行某些受保護的操作,并可訪問用戶模式驅(qū)動程序無法訪問的系統(tǒng)結(jié)構(gòu)。每個驅(qū)動程序都至少實現(xiàn)三個例程:入口例程( DriverEntry)、卸載例程和打開關(guān)閉例程。 I/O 管理器為每個加載到內(nèi)存的驅(qū)動程序創(chuàng)建一個驅(qū)動程序?qū)ο?,并將這個對象指針傳遞給驅(qū)動程序,驅(qū)動程序就可以在需要的時候調(diào)用這個設(shè)備對象。 windows平臺下個人防火墻的設(shè)計與實現(xiàn) 10 第三章 開 發(fā)工具與環(huán)境簡介 本章主要介紹本課題的開發(fā)環(huán)境和所用到的開發(fā)工具,平臺如題所述,是 Windows平臺,版本為 Windows XP。 Visual Studio 功能強大,可以用以創(chuàng)建Windows 應(yīng)用程序、網(wǎng)絡(luò)應(yīng)用程序、網(wǎng)絡(luò)服務(wù)、 android 應(yīng)用程序等,里邊包含了 Visual Studio C++開發(fā)工具,可進行 C\C++相關(guān)程序開發(fā),且引入了 MFC 庫。 經(jīng)歷標(biāo)準(zhǔn)制定和多次修訂(現(xiàn)在最新標(biāo)準(zhǔn)為 C99), 發(fā)展至今,已成為全球使用者最多的程序設(shè)計語言之一。此外,該語言還有高效性、可移植性、功能強大、靈活性、提供標(biāo)準(zhǔn)庫等優(yōu)點 [11],這也是本文所述系統(tǒng)采用 C 語言編寫的主要原因。 WDK 已經(jīng)自帶所有需要的頭文件、庫、 C/C++語言及匯編語言的編譯器與連接器,所以可以在不安裝 Visual Studio 等 SDK 的環(huán)境下編 程 。另外附加說明一點,為了方便驅(qū)動被加載后能夠被卸載,我們需要在編寫程序的時候設(shè)置 DriverUnload 函數(shù)指針 [12]。如本文總所用 source 文件內(nèi)容實例如下: TARGETNAME=DrvFltIp TARGETPATH=obj TARGETTYPE=DRIVER SOURCES= 其中 TARGETNAME 表示編譯后得到的文件的名字,如本實例編譯后得到的為; TARGETPATH 表示文件所在路徑; TARGETTYPE 表示編譯的目標(biāo)類型;SOURCES 則為所要編譯的 .c 文件(多個文件間用空格分開)。安裝好驅(qū)動程序后,就可以通過我們的方式查看它的運行情況。 MFC 封裝了許多類,其中一些可以直接使用,另一些則主要作為自己的類的基礎(chǔ)。 MFC 框架定義了程序的輪廓,提供了一套用戶接口的標(biāo)準(zhǔn)實現(xiàn)方法,程序員用 MFC 編寫 Windows應(yīng)用程序所需要做的就是通過這些接口把具體 應(yīng)用程序特有的東西填入這個輪廓。 本個人防火墻系統(tǒng)采用結(jié)構(gòu)化設(shè)計的方法來實現(xiàn)系統(tǒng)的總體功能, 實現(xiàn)的防火墻 界面直觀,操作簡單。用戶通過界面模塊可以實現(xiàn)對個人防火墻的各項操作,如啟動、停止、添加 \移除過濾規(guī)則等。這個驅(qū)動本身提供一個接口,接口是通過回調(diào)函數(shù) 來 實現(xiàn)的,接口負責(zé)對驅(qū)動進行操控。 2. 自定義過濾規(guī)則:添加過濾規(guī)則時,可以輸入?yún)f(xié)議類型,源、目端口號,源 IP地址、目的 IP 地址、源、目掩碼。 5. 提供用戶接口實現(xiàn)防火墻的啟動、關(guān)閉等相關(guān)功能。 驅(qū)動層 FilterHook Driver 本防火墻驅(qū)動層 FilterHook Driver 屬于內(nèi)核模塊, 實現(xiàn)后整體結(jié)構(gòu)如下圖 51 所示: 初始化 FilterHook 驅(qū)動通過入口函數(shù) DriverEntry 開始運行, DriverEntry 也是所有內(nèi)核模塊的入口函數(shù)名。 設(shè)備對象創(chuàng)建成功后, 雖然有了設(shè)備名稱,但該設(shè)備只能在內(nèi)核態(tài)可見,而對應(yīng)用程序不可見,所以需要調(diào)用 調(diào)用內(nèi)核 API: IoCreateSymbolicLink,用以創(chuàng)建符號鏈接 ,該鏈接指向真正的設(shè)備名稱 。 請求分發(fā)的核心部分是請求的控制,由 IRP_MJ_DEVICE_CONTROL 負責(zé)。 //目的 IP ULONG souceMASK。 //目的端口 BOOLEN drop。這樣就能 清除已添加的過濾規(guī)則。本文通過調(diào)用 IoGetDeviceObjectPointer 這個內(nèi)核 API 來得到該指針 ——ipDeviceObject。 FileObject 是一個返回參數(shù),即獲得這個設(shè)備對象的同時會得到的一個文件對象( File Object)。 3. 向驅(qū)動發(fā)送 IRP,調(diào)用內(nèi)核 API: IoCallDriver,該函數(shù)的作用就是向指定對象發(fā)送 IRP,函數(shù)有 DeviceObject 和 Irp 兩個參數(shù),顧名思義, DeviceObject 就是設(shè)備對象, Irp 就是傳入需發(fā)送的 IRP 包。 // 版本號和頭長度 UCHAR ipTOS。 // 標(biāo)志 UCHAR ipTTL。 // 源地址 ULONG ipDestination。 // 目的端口號 ULONG sequenceNumber。 // 標(biāo)志 USHORT windows。 UDP 數(shù)據(jù)包結(jié)構(gòu)體定義如下: typedef struct _UDPHeader { USHORT sourcePort。 // 校驗和 } UDPHeader。 通過該程序,實現(xiàn)了驅(qū)動服務(wù)的安裝,打開驅(qū)動設(shè)備,整體結(jié)構(gòu)如圖 55 所示: 開始 接收到數(shù)據(jù)包 進行包頭解析,并與過濾規(guī)則列表中的規(guī)則進行匹配 匹配成功 不作處理并放行 阻止丟棄 結(jié)束 Y N 圖 54 filterFunction 函數(shù)流程圖 windows平臺下個人防火墻的設(shè)計與實現(xiàn) 23 驅(qū)動服務(wù)安裝 驅(qū)動控制模塊首先執(zhí)行的是驅(qū)動服務(wù)的安裝,其流程如 圖 56 所示: 1. 打開服務(wù)管理,調(diào)用系統(tǒng) API: OpenSCManager,建立了一個連接到服務(wù)控制管理器,并打開指定的數(shù)據(jù)庫。然后再調(diào)用StartServie,開啟這個驅(qū)動服務(wù)。通過調(diào)用 OpenDevice函數(shù)(封裝 系統(tǒng) API: CreateFile) 來實現(xiàn) 該函數(shù)原型如下: long OpenDevice(LPCTSTR DriverName, HANDLE *DriverHandle); DriverName為驅(qū)動設(shè)備名, *DriverHandle為設(shè)備句柄(指針)。 接著,封裝了四個功能函數(shù),來實現(xiàn)這四種消息碼的功能請求 : StartFilter()、StopFilter()、 AddFilter()、 CleanFilter()。 windows平臺下個人防火墻的設(shè)計與實現(xiàn) 25 用戶界面 本文所述防火墻 實現(xiàn) 后 的用戶界面如圖 57 所示: 圖 57 個人防火墻用戶界面 本界面用 MFC 設(shè)計,其整體基于對話框。 點擊start 按鈕, 防火墻就根據(jù)該動作向 FilterHook 驅(qū)動程序發(fā)送 START_IP_HOOK 控制碼,這樣防火墻就可以啟動,開始工作。 點擊 stop 按鈕后, 防火墻就根據(jù)該動作向FilterHook 驅(qū)動程序發(fā)送 START_IP_HOOK 控制碼 以關(guān)閉防火墻 ,停止過濾。 windows平臺下個人防火墻的設(shè)計與實現(xiàn) 26 其 中 功能測試就是對產(chǎn)品的各功能進行驗證,根據(jù)功能測試用例,逐項測試,檢查產(chǎn)品是否達到用戶要求的功能 。 VMware Workstation 是一款桌面虛擬計算機軟件,提供用戶可在單一的桌面上同時運行不同的操作系統(tǒng),和進行開發(fā)、測試 、部署新的應(yīng)用程序的最佳解決方案,故能很好的避免測試中出現(xiàn)的錯誤導(dǎo)致的嚴(yán)重后果。設(shè)置需要阻止的 TCP 協(xié)議通信的源、目 IP 地址,設(shè)置好端口號和掩碼等。 規(guī)則設(shè)置如圖 58 所示: windows平臺下個人防火墻的設(shè)計與實現(xiàn) 27 圖 58 添加過濾規(guī)則測試用例 右側(cè)顯示規(guī)則已經(jīng)添加,表示規(guī)則添加成功。由于驅(qū)動層的運行信息無法像用戶層的一樣顯示出來,如果想要看到驅(qū)動層的攔截過濾情況, 需要借助一些工具,本文 借助 DebugView 對防火墻驅(qū)動層進行查看,結(jié)果如圖 510 所示: windows平臺下個人防火墻的設(shè)計與實現(xiàn) 28 圖 510 FilterHook Driver 測試結(jié)果圖 通過結(jié)果,可以看到 該數(shù)據(jù)包的詳細情況,顯示表明,規(guī)則生效,防火墻攔截過濾成功。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1