【正文】
在 Winsock 層次上進(jìn)行,而對于網(wǎng)絡(luò)協(xié)議棧中底層協(xié)議的數(shù)據(jù)包無法進(jìn)行處理。也就是是說, Winpcap 不能阻塞、過濾或控制其他應(yīng)用程序數(shù)據(jù)包的收發(fā),它僅僅是監(jiān)聽共享網(wǎng)絡(luò)上傳送的數(shù)據(jù)報(bào)。截獲數(shù)據(jù)包有很多種方法,首先想到了 Winpcap(Windows Packet Capture), 它是Windows 平臺下的一個(gè)免費(fèi)、公共的網(wǎng)絡(luò)訪問系統(tǒng)。 3 總體 設(shè)計(jì)方案 設(shè)計(jì)過程 防火墻是對所截取的數(shù)據(jù)包按用戶定義的規(guī)則進(jìn)行過濾的,所以要開發(fā)設(shè)計(jì)一個(gè)防火墻,第一步要實(shí)現(xiàn)對數(shù)據(jù)包的截取。你所調(diào)用的很多成員函數(shù)完成 了你自己可能很難完成的工作。 使用 MFC 的最大優(yōu)點(diǎn)是它為你做了所有最難做的事。另外, MFC 所編寫的程序的性能也毫無損失。 與傳統(tǒng)上使用 C 語言直接訪問 Windows API 相反,使用 MFC 和 C++的優(yōu)點(diǎn)是 MFC已經(jīng)包含和壓縮了所有標(biāo)準(zhǔn)的“樣板文件”代碼,這些代碼是所有用 C 編寫的 Windows程序所必需的。每當(dāng)新的 Windows 版本出現(xiàn)時(shí),MFC 也會得到修改以便使舊的編譯器和代碼能在新的系 統(tǒng)中工作。 MFC 是一個(gè)很大的、擴(kuò)展了的 C++類層次結(jié)構(gòu),它能使開發(fā) Windows 應(yīng)用程序變得更加容易。 Visual C++ 以 ANSIC++為基礎(chǔ),并在此基礎(chǔ)上進(jìn)行了大量的擴(kuò)展,以適應(yīng)開發(fā)各種 Windows 應(yīng)用程序的需 要。它 是一個(gè) C++實(shí)現(xiàn), 提供了一個(gè)功能強(qiáng)大的集成開發(fā)環(huán)境;另一方面,它提供了一些 C++類庫,其中最具影響力的是 MFC。 Visual C++ 相關(guān)技術(shù)簡介 Visual C++ 是 Microsoft 公司推出的功能強(qiáng)大的軟件開發(fā)平臺,是 真正 的程序員 首選的開發(fā)工具之一。另外,防火墻很難防范來自于網(wǎng)絡(luò)內(nèi)部的攻擊以及病毒的威脅。比如它不能防范不經(jīng)過它的攻擊,也就是可以尋找一條小路繞開防火墻把守的大門。和代理服務(wù)器一樣,外面的世界看到的只是應(yīng)用網(wǎng)關(guān)的 IP 地址,這就有效地保護(hù)了內(nèi)部網(wǎng)絡(luò)。因此,所有的通訊都需要經(jīng)過兩個(gè)連接 —— 客戶到網(wǎng)關(guān)的連接和網(wǎng)關(guān)到目的主機(jī)的連接。 。代理服務(wù)器具有信息隱藏,保證有效 第 3 頁 共 20 頁 的認(rèn)證和登 陸,簡化了過濾規(guī)則等優(yōu)點(diǎn)。這一點(diǎn)對系統(tǒng)安全是非常重要的,只有那些被認(rèn)為 “可信賴的 ”服務(wù)才允許通過防火墻。它將內(nèi)部系統(tǒng)與外界隔離開來,從外面只能看到代理服務(wù)器而看不到任何內(nèi)部資源。那些不符合規(guī)則的數(shù)據(jù)包將被過濾 掉,以保證網(wǎng)絡(luò)的安全。 防火墻分類 根據(jù)對限制傳輸機(jī)制的不同,把防火墻大致分成以下三種:封包過濾、代理 服務(wù) 器和應(yīng)用程序網(wǎng)關(guān): ,這些信息都是以包的形式進(jìn)行傳輸?shù)?,?shù)據(jù) 包中包含發(fā)送方的 IP 地址,接收方的 IP 地址,端口,鏈路狀態(tài)等信息 。 在邏輯上,防火墻是 一 個(gè)分離器,一個(gè)限制器,也是一個(gè)分析器。它是不同網(wǎng)絡(luò)或者網(wǎng)絡(luò)安全域之間的唯一出口,所有進(jìn)出這出口的訪問都得經(jīng)過它的審核。這就需要人們給網(wǎng)絡(luò)加一道安全之門,而這道門的重要守護(hù)者就是防火墻 。 2 相關(guān)理論技術(shù)基礎(chǔ) 防火墻 技術(shù) 簡介 防火墻簡介 Inter的發(fā)展給政府,企事業(yè)單位帶來了革命性的改革和開 放,也給個(gè)人的工作和生活帶了前所未有的改變。這個(gè)回調(diào)函數(shù) 被看作一個(gè)過濾鉤子。 過濾鉤子驅(qū)動程序是一個(gè)用于過濾網(wǎng)絡(luò)包的核心模式驅(qū)動程序, 它 擴(kuò)展了系統(tǒng)提供的 IP 過濾 驅(qū)動程序的功能。因此,為了保護(hù)主機(jī)的安全 第 2 頁 共 20 頁 通信,研究有效的個(gè)人防火墻技術(shù)很有必要。一般都是利用操作系統(tǒng)設(shè)計(jì)的安全漏洞和通信協(xié)議的安全漏洞來實(shí)現(xiàn)攻擊。 個(gè)人上網(wǎng)用戶多使用 Windows 操作系統(tǒng),而 Windows 操作系統(tǒng)本身的安全性就不高。 本課題研究的意義 目前市場上大多數(shù)的防火墻產(chǎn)品僅僅是網(wǎng)關(guān)型的,雖然它們的功能相當(dāng)強(qiáng)大,但由于它們基于下述的假設(shè):內(nèi)部網(wǎng)是安全可靠的,所有的威脅都來自網(wǎng)外。另外還有多種防火墻產(chǎn)品正朝 著數(shù)據(jù)安全與用戶認(rèn)證、防止病毒與黑客侵入等方向發(fā)展。作為內(nèi)部網(wǎng)絡(luò)與外部公共網(wǎng)絡(luò)之間的第一道屏障 ,防火墻是最先受到人們重視的網(wǎng)絡(luò)安全產(chǎn)品之一。國內(nèi)外 已有數(shù) 家公司推出 了功能各不相同的防火墻產(chǎn)品系列。隨著網(wǎng)絡(luò)的進(jìn)一步普及,網(wǎng)絡(luò)安全產(chǎn)品逐漸地進(jìn)入人們的視野,而防火墻作為把守用戶安全大門的重要工具,越來越受到人們的重視。由于黑客攻擊和信息泄露并不是直接對系統(tǒng)造成損害,所以往往不能引起人們的注意。人們享受著信息時(shí)代帶來的種種便利,體驗(yàn) 著互聯(lián)網(wǎng)帶來的 生活上的全新感受 ?;ミB網(wǎng)已經(jīng)成為擴(kuò)展個(gè)人和企業(yè)發(fā)展的重要工具,人們已經(jīng)進(jìn)入了信息時(shí)代。 hook。 關(guān)鍵詞 : 防火墻;包過濾;鉤子;回調(diào)函數(shù) The Design and Realization of Simple Firewall for Windows Abstract With the rapid development of Inter, it brings us great convenience. We bee more and more dependent on the Inter, but it brought a lot of questions of work security, thereby the products of work security attract much attention. Firewall is an effective means to secure the system. It can separate personal puter from unsafe work, according to the preset rules to decide whether to let the packet through. It guarantees the safety of personal puter. This paper is based on Windows 2020, DDK for Windows 2020 and Visual C++ platform to develop simple firewall system. There are two parts in the system, which are hook filter driver module and the module of user interface. The main function of hook filter driver module is to register hook callback function and filter packet according to rules. The main function of user interface module is to add or delete filter rules, and save filter rules as file. Key words: firewall。系統(tǒng)主要分為兩個(gè)模塊:過濾鉤子驅(qū)動模塊和用戶操作界面模塊。防火墻是保障系統(tǒng)安全的一種有效手段,它可以將個(gè)人電腦與不完全的網(wǎng)絡(luò)隔離開,按照預(yù)先設(shè)定的規(guī)則決定是否允許數(shù)據(jù)包 通過,以此保障了個(gè)人電腦的安全。 畢業(yè)設(shè)計(jì) ( 論文 ) Windows 簡單 防火墻的設(shè)計(jì)與實(shí)現(xiàn) 論文作者姓名: 申請學(xué)位專業(yè): 申請學(xué)位類別: 指導(dǎo)教師姓名(職稱): 論文提交日期: Windows 簡單 防火墻的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 隨著互連網(wǎng)的高速發(fā)展,網(wǎng)絡(luò)給我們帶來了極大的方便。人們的學(xué)習(xí)、工作以及生活越來越依賴于計(jì)算機(jī)網(wǎng)絡(luò),隨之 也 出現(xiàn)了許多網(wǎng)絡(luò)安全問題,因此當(dāng)前網(wǎng)絡(luò)安全產(chǎn)品備受人們的重視。 本畢業(yè)設(shè)計(jì)是基于 Windows 2020操作系統(tǒng)、 DDK for Windows2020工具開發(fā)包及 Visual C++。過濾鉤子驅(qū)動模塊主要功能是注冊過濾鉤子回調(diào)函數(shù),并按照用戶提供的過濾規(guī)則進(jìn)行數(shù)據(jù)包的過濾;用戶操作界面模塊 的 主要功能是實(shí)現(xiàn) 用戶添加、刪除 過濾 規(guī)則,同時(shí)允許用戶以文件的形式保存所添加的過濾規(guī)則 。 packetfiltering。 callback function 目 錄 論文總頁數(shù): 20頁 1 引言 ................................................................... 1 課題背景 ............................................................ 1 國內(nèi)外研究現(xiàn)狀 ...................................................... 1 本課題研究的意義 .................................................... 1 本課題的研究方法 .................................................... 2 2 相關(guān)理論技術(shù)基礎(chǔ) ....................................................... 2 防火墻技術(shù)簡介 ...................................................... 2 防火墻簡介 ....................................................... 2 ....................................................... 2 防火墻的局限性 ................................................... 3 VISUAL C++ ............................................ 3 3 總體設(shè)計(jì)方案 ........................................................... 4 設(shè)計(jì)過程 ............................................................ 4 設(shè)計(jì)方案 ............................................................ 4 4 過濾鉤子驅(qū)動的實(shí)現(xiàn) ..................................................... 5 FILTER_HOOK DRIVER 概述 ................................................. 5 過濾鉤子驅(qū)動的實(shí)現(xiàn) ................................................... 6 創(chuàng)建內(nèi)核模式驅(qū)動 ................................................. 6 設(shè)置和清除過濾鉤子 ............................................... 8 過濾器鉤子的 I/O控制 ............................................. 9 .................................................... 10 5 客戶端應(yīng)用程序 ........................................................ 11 界面設(shè)計(jì) ........................................................... 12 編碼規(guī)則 ........................................................... 13 主要的類 ........................................................... 13 核心代碼 ........................................................... 14 ............................................... 15 ............................................... 15 ........................................................ 16 結(jié) 論 .................................................................. 17 參考文獻(xiàn) .................................................................. 17 致 謝 .................................................................. 19 聲 明 ..............................