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

正文內(nèi)容

包過濾型個人防火墻軟件開發(fā)畢業(yè)設(shè)計論文(已修改)

2025-08-08 09:10 本頁面
 

【正文】 第 1 頁 共 37 頁包過濾型個人防火墻軟件開發(fā)畢業(yè)設(shè)計論文1 引言 課題背景與意義隨著網(wǎng)絡(luò)在各領(lǐng)域應(yīng)用的越來越廣泛,網(wǎng)絡(luò)安全問題得到了更多的關(guān)注。計算機(jī)病毒攻擊可以導(dǎo)致電腦系統(tǒng)癱瘓;而木馬和黑客攻擊可致使重要信息被竊取,造成不可估量的損失。所以人們開始尋求如何能在電腦和網(wǎng)絡(luò)間添加一種可靠保護(hù)體系。防火墻就此應(yīng)運而生。顧名思義,防火墻能夠在計算機(jī)和網(wǎng)絡(luò)間形成一道過濾屏障,保證被認(rèn)可的行為順利執(zhí)行,而危險行為則被屏蔽。從而很大程度上增加了網(wǎng)絡(luò)的安全性。 課題目標(biāo)現(xiàn)在防火墻的花樣與種類繁多,讓人眼花繚亂。但是防火墻的主要功能是防止外部網(wǎng)絡(luò)的攻擊以達(dá)到保護(hù)主機(jī)的目的。哪些未知的網(wǎng)絡(luò) IP 可能對主機(jī)產(chǎn)生攻擊可能是未可知的,只有試驗過才知道。所以現(xiàn)在防火墻一般與防病毒軟件配合使用。這樣才能安全的保護(hù)主機(jī)。實現(xiàn)的主要的核心功能如下定義:(1) 根據(jù)應(yīng)用程序訪問規(guī)則可對應(yīng)用程序連網(wǎng)動作進(jìn)行過濾;(2) 對應(yīng)用程序訪問規(guī)則具有自學(xué)習(xí)功能;(3) 可實時監(jiān)控、監(jiān)視網(wǎng)絡(luò)活動。 課題的研究方法本課題由兩大模塊構(gòu)成,分別為 DLL 模塊和 EXE 模塊。首先利用 Winsock 2 SPI 技術(shù)建立 winsock 鉤子用來截獲 winsock 調(diào)用從而攔截 TCP/IP 封包,并做相應(yīng)處理。然后設(shè)置控管規(guī)則訪問控制,通過控管規(guī)則的檢查認(rèn)證,確定 socket 連接是否允許通過。在此之后是 TCP/IP 的封包分析,利用 TIP/IP 的封包結(jié)構(gòu)分析截獲的數(shù)據(jù),提取需要的數(shù)據(jù)。這些封裝在 DLL 里面 【1】 。EXE 模塊主要是用戶頁面的制作。這里介紹與 DLL 模塊通信的地方。EXE中與 DLL 直接通信的小模塊主要有兩個。一個是完成應(yīng)用程序初始化的類第 2 頁 共 37 頁CPropertyApp,它繼承自 CWinApp,是 EXE 的入口,其實里面封裝了 WinMain函數(shù);另一個是主窗口模塊 CMainFrame,這個主窗口并不是 EXE 顯示出來的那個屬性頁窗口,而是一個隱藏的窗口,它繼承自 CMrameWnd,是一個無模式窗口,他隱藏顯示,充當(dāng)接受機(jī),用來接受 DLL 及其他模塊發(fā)送過來的消息,然后對消息進(jìn)行相應(yīng)的處理。每一個連網(wǎng)的程序連網(wǎng)之前都會建立一個 Socket 連接。這時鉤子程序就會起作用,把截獲的底層服務(wù)進(jìn)行“過濾” ,及先調(diào)用自定義的函數(shù)再轉(zhuǎn)給下層服務(wù)提供者函數(shù) 【2】 。本文將這一層實現(xiàn)封包過濾的,把規(guī)則與功能寫到這一層。本層的實現(xiàn)是本課題的核心。第 3 頁 共 37 頁2 WINSOCK 2 SPI 編程技術(shù)Winsock 2 是 Windows Sockets 的 版本,在此之前的版本是 。與 版本相比, 版本引入了一種新的叫做 SPI 的編程接口。利用這種技術(shù)可以在Socket 中插入一曾層,從而可以完成諸如擴(kuò)展 TCP/IP 協(xié)議棧,網(wǎng)絡(luò)安全控制等功能,所以這是一個非常強大而且有用的接口,下面介紹這種編程技術(shù)。 WINSOCK 2 SPI 基礎(chǔ)Winsock 是為上層應(yīng)用程序提供的一種標(biāo)準(zhǔn)網(wǎng)絡(luò)接口,上層應(yīng)用程序不用關(guān)心 Winsock 實現(xiàn)的細(xì)節(jié),它為上層應(yīng)用程序提供透明的服務(wù)。Winsock 2 引入的一個新的功能就是打破服務(wù)提供者的透明,讓開發(fā)者可以編寫自己的服務(wù)提供者接口程序,即 SPI 程序。SPI 以動態(tài)鏈接庫的形式存在,它工作在應(yīng)用層,為上層 API 調(diào)用接口函數(shù) 【3】 。Winsock 2 是一個接口,不是一個協(xié)議。作為接口,它只能發(fā)現(xiàn)和利用底層傳輸協(xié)議完成通信。自己編寫的 SPI 程序安裝到系統(tǒng)之后,所有的 Winsock 請求都會發(fā)送到這個程序并由它完成網(wǎng)絡(luò)調(diào)用。由于系統(tǒng)提供的 SPI 已經(jīng)可以完成網(wǎng)絡(luò)傳輸功能,所以自己編寫的 SPI 沒有必要重新編寫這部分功能。一般可以直接調(diào)用系統(tǒng)函數(shù)完成網(wǎng)絡(luò)傳輸,這樣工作的效果就是“鉤子程序。Winsock 2 SPI 除了有完成網(wǎng)絡(luò)傳輸?shù)膫鬏敺?wù)提供者,還有提供友好名稱服務(wù)的名字空間服務(wù)提供者。傳輸服務(wù)提供者能夠提供建立通信、傳輸數(shù)據(jù)、流量控制和錯誤控制等服務(wù)。名字空間服務(wù)提供者把一個網(wǎng)絡(luò)協(xié)議的地址屬性和一個或多個用戶友好名稱關(guān)聯(lián)起來,這樣可以起用與協(xié)議無關(guān)的名字解析方案。 傳輸服務(wù)提供者傳輸服務(wù)提供者又分為基礎(chǔ)服務(wù)提供者和分層服務(wù)提供者?;A(chǔ)服務(wù)提供者和分層服務(wù)提供者都開放相同的 SPI 接口,所不同的是基礎(chǔ)服務(wù)提供者位于提供者的最底層。所以編寫基礎(chǔ)服務(wù)提供者和分層服務(wù)提供者基本相同。但安裝是卻需要將基礎(chǔ)服務(wù)提供者安裝在服務(wù)提供者加載順序鏈的最底端,而分層服務(wù)提供者則根據(jù)需要分布在順序鏈的中間。第 4 頁 共 37 頁 開發(fā)平臺與開發(fā)工具開發(fā)平臺如題說明,以 Windows 平臺為主,重點討論開發(fā)工具的選擇。根據(jù)不同的工程選擇不同的開發(fā)工具,可以有效地提高工作效率。不同的開發(fā)工具各有各的優(yōu)點同時又各有各的不足,在開發(fā)中要揚長避短。目前常用的 Windows 開發(fā)工具有 VS 、(包括VB、BC 、VFP、VJ、C等一組開發(fā)工具) 、delphi、C++ Builder,JBuilder、PB等 【4】 。在這些開發(fā)工具里面,VFP 和 PB 一般用來專門開發(fā)數(shù)據(jù)庫系統(tǒng),它們具有靈活的數(shù)據(jù)庫接口。VB 和 Delphi 既可以方便地做出復(fù)雜的數(shù)據(jù)庫管理系統(tǒng),又能輕松地完成操作系統(tǒng)級的任務(wù)。最優(yōu)秀的是很容易做出漂亮的界面。VC 和 Borland C++著重于系統(tǒng)編程,它們開放接口較多,也最為靈活,而且編譯出的程序體積較小,所以比較適合做系統(tǒng)工具類軟件。缺點是短時間不容易掌握。其中 Borland 使用的 VCL 類庫是為 Delphi 準(zhǔn)備的,并不是真正用C++實現(xiàn)的。VJ、Jbuilder 和 Java 語言主要面向互聯(lián)網(wǎng)應(yīng)用。最大的優(yōu)勢是跨平臺。本課題為防火墻軟件,較多的使用系統(tǒng)接口,而且界面簡單。另外,防火墻主要傳播渠道是互聯(lián)網(wǎng),這就要求體積應(yīng)盡量的小,安裝盡量方便。所以選擇 VC 為開發(fā)工具。第 5 頁 共 37 頁3 系統(tǒng)總體分析與設(shè)計 系統(tǒng)功能定義本設(shè)計實現(xiàn)的具體功能描述如下:(1) 封包監(jiān)視① 提供封包監(jiān)視頁面。② 提供清空監(jiān)視列表,停止/開始監(jiān)視及停止/開始滾動功能。(2) 控管規(guī)則設(shè)置① 手工添加,刪除及修改控管規(guī)則。② 自學(xué)習(xí)添加控管規(guī)則。③ 控管規(guī)則中目的網(wǎng)絡(luò) IP 地址段的設(shè)置。④ 提供控管規(guī)則設(shè)置頁面。(3) 封包過濾① DLL 給出設(shè)置工作模式和設(shè)置控管規(guī)則的接口函數(shù)。工作模式分為 3 種形式:放行所有,拒絕所有和過濾。② DLL 根據(jù)工作模式和控管規(guī)則對過往封包進(jìn)行過濾。③ DLL 將通過的網(wǎng)絡(luò)封包通知 EXE 取走 。 模塊劃分 模塊劃分原則模塊劃分是系統(tǒng)分析中非常重要的一部分,下面是模塊劃分時的基本原則。(1) 獨立性:讓模塊直接內(nèi)的關(guān)系減到最少。理想的狀態(tài)就是模塊之間沒有關(guān)系,但這種情況不符合現(xiàn)實。既然是同一個工程,模塊之間自然都會存在一定的聯(lián)系,只要想辦法讓模塊之間的關(guān)系盡量簡單就可以了。(2) 接口簡單化:讓模塊之間的接口盡量單純、簡單、易用。即讓公用函數(shù)和公用變量盡量地少。第 6 頁 共 37 頁(3) 分層處理:吸取 Windows 操作系統(tǒng)對模塊做分層處理的經(jīng)驗。建立一些中間模塊,讓兩端的模塊來完成相互調(diào)用的透明化。(4) 容易合并:容易將劃分的模塊進(jìn)行合并。例如將一個工程的各個功能模塊分別設(shè)計成可執(zhí)行文件,然后用一個總模塊將這些模塊關(guān)聯(lián)起來組成一個工程。這種情況下,對模塊獨立性要求較高,模塊之間幾乎沒有任何關(guān)系。(5) 可測試性:盡量使每個模塊都可以單獨進(jìn)行測試 [6]。上面的 5 條是參考原則,既然是參考原則就不會完全執(zhí)行,完全按照一個教條去執(zhí)行真的很困難。只要在做模塊劃分的時候能經(jīng)常記起這些原則,然后稍加注意就 OK 了。另外,在這 5 條原則中,第一條是根本,能把這一條做好,下面的一些就容易實現(xiàn)了。在做模塊劃分時一定要始終貫穿獨立性的思想。 模塊結(jié)構(gòu)根據(jù) 節(jié)的功能定義和 節(jié)的工作流程圖,需要對模塊做進(jìn)一步細(xì)化,得出更詳細(xì)的模塊結(jié)構(gòu)。這些模塊結(jié)構(gòu)是編程的藍(lán)本,在編寫代碼的過程中,就要以這些結(jié)構(gòu)為指導(dǎo)。(1) 模塊 :用戶界面, 節(jié)詳細(xì)說明。(2) 模塊 :EXE 的安裝模塊, 。建立 CXInstall 類,C++源文件 和 。安裝函數(shù) InstallProvider 和卸載函數(shù) RemoveProvider(3) 模塊 :EXE 讀寫控管規(guī)則模塊,建立 CAclFile 類,C++源文件 和 。讀控管規(guī)則文件 ReadAcl,保存控管規(guī)則文件 SaveAcl,增加一條控管規(guī)則 AddAcl 和刪除一條控管規(guī)則 DelAcl。(4) 模塊 :EXE 設(shè)置 DLL 的控管規(guī)則模塊,設(shè)置控管規(guī)則單獨的函數(shù),調(diào)用模塊 讀寫控管規(guī)則模塊得到控管規(guī)則數(shù)據(jù),調(diào)用 DLL 的函數(shù)FloControl 設(shè)置 DLL 的控管規(guī)則。(5) 模塊 :EXE 設(shè)置 DLL 的工作模式,設(shè)置工作模式單獨的函數(shù),調(diào)用模塊 讀寫控管規(guī)則模塊得到控管規(guī)則數(shù)據(jù),調(diào)用 DLL 的函數(shù) FloControl設(shè)置 DLL 的工作模式。(6) 模塊 :DLL 封包過濾模塊,有分為 3 塊, 一組 Winsock 2SPI鉤子函數(shù) C++源文件 和 ;模塊 根據(jù)控管規(guī)則判斷是否可以通行的類 CCheckAcl,C++源文件 和 ;模第 7 頁 共 37 頁塊 對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行分析的類 CProtocolInfo,C++源文件 和 。① 模塊 :服務(wù)提供者函數(shù)模塊,入口函數(shù) WSPSartup,發(fā)送詢問消息到 EXE,由 EXE 提供詢問界面函數(shù) QueryAccess。截獲的 8 個
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1