【正文】
s still attached to Themis. It39。Nell One. The differences were movement and origin. A spaceship would have an engine, and it would be at the hub. A colony would have been built by somebody close at hand. Cirocco had heard theories that included inhabitants of Saturn or Titan, Martiansthough no one had found so much as a flint arrowhead on Marsand ancient space faring races from the Earth. She didn39。 and was conse quently resolved not to be out of sight of the inn the whole of that morning. But her conclusion was false。 特此聲明! 作者簽名: 2020 年 06 月 日 第 21 頁 共 20 頁 168。文中除了特別加以標注地方外,不包含他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學院或其他教學機構的學位或證書而使用過的材料。 第 18 頁 共 20 頁 [7] 謝希仁 著 .計算機網(wǎng)絡 [M].北京: 電子 工業(yè)出版社 .2020。 由于畢業(yè)設計時間短暫, 本設計還有很多需要改進的 地方, 將 在今后的工作中繼續(xù)完善該軟件系統(tǒng)。 i++) { (amp。 } 文件存儲 Firewall 程序可以將用戶添加的過濾規(guī)則保存到以 rul 為后綴的文件中。(pDocm_rules[i]), sizeof(CIPFilter))。以下是主要代碼: void CMainFrame::OnRulesInstall() // 安裝過濾條件 { // 首先清除過濾條件 m_pFilterDrvIoControl(CLEAR_FILTER, NULL, 0, NULL, 0)。 } 開始過濾和停止過濾 要開始或者停止過濾,只需要向 IP 過濾鉤子發(fā)送設備控制代碼 START_IP_HOOK 或STOP_IP_HOOK。p)。其在初始化時加載 IP 過濾驅(qū)動和 IP 過濾鉤子驅(qū)動,下面是相關主要代碼: // 文件 class CMainFrame : public CFrameWnd {?? public: CDriver* m_pIPFltDrv。在“協(xié)議”的下拉菜單中有“所有”、“ TCP”“ UDP”“ ICMP”四個選項供用戶選擇。 是否 符合 UDP 規(guī)則 是否 符合 ICMP 規(guī)則 處理 ICMP 規(guī)則 取下一條規(guī)則 Y 是否 符合 IP 規(guī)則 拷貝 packet 的內(nèi)容到共享內(nèi)存區(qū) 處理 IP 規(guī)則 取下一條規(guī) 則 Y N N 是否 符合 TCP 規(guī)則 處理 TCP 規(guī)則 取下一條規(guī)則 處理 UDP 規(guī)則 取下一條規(guī)則 Y Y N N 結束 開始 第 12 頁 共 20 頁 界面設計 此模塊工程是一個基于對話框的 MFC 應用程序。具體功能實現(xiàn)由自定義函數(shù) AddFilterToList來實現(xiàn)。 一旦當前的 I/O 控制請求完成后 , 設備控制例程調(diào)用 IoCompleteRequest 函數(shù)并且傳遞其操作狀態(tài) , 這個狀態(tài)已經(jīng)返回給先前發(fā)送請求的應用程序或高層驅(qū)動程序 。 過濾器驅(qū)動清除它的過濾鉤子,是通過先前注 冊過濾鉤子的口來實現(xiàn)的,因此過濾鉤子驅(qū)動應該保存指向 IP 過濾器驅(qū)動的文件和設備對象的指針,也就是說,只有在過濾器鉤子驅(qū)動從 IP 過濾器驅(qū)動清除它的過濾器鉤子以后,過濾器鉤子驅(qū)動程序才能調(diào)用ObDereferenceObject 函數(shù)減小 IP 過濾器驅(qū)動的文件和設備對象的指針引用計數(shù)。 PIRP IoBuildDeviceIoControlRequest( IN ULONG IoControlCode, IN PDEVICE_OBJECT DeviceObject, 第 9 頁 共 20 頁 IN PVOID InputBuffer OPTIONAL, IN ULONG InputBuffer Length, OUT PVOID OutputBuffer OPTIONAL, IN ULONG OutputBufferLength, IN BOOLEAN InternalDeviceIoControl, IN PKEVENT Event, OUT PIO_STATUS_BLOCJ IoStatusBlock )。過濾器鉤子有可能清除先前注冊的鉤子回調(diào)。其次,在過濾器鉤子檢測完數(shù)據(jù)包后,回復響應代碼 PF_FORWARD,PF_DROP 或 PF_PASS給 IP 過濾器驅(qū)動,通知 IP 過濾器驅(qū)動如何處理數(shù)據(jù)包 。 //目的端口號 USHORT len。 //seq 序號 ULONG acknowledgeeNumber。 //協(xié)議,其中 TCP( 6)、 UDP( 17)、 ICMP( 1) USHORT ipChecksum。 PacketHearder 參數(shù)指向的數(shù)據(jù)通常定義為 IPHearder 結構,它提供了封包的詳細信息?;卣{(diào)函數(shù)是這類驅(qū)程的主體部分。其實 FilterHook Drive 并不是一種新的網(wǎng)絡驅(qū)動類型,它 僅僅是 IP Filter Driver(包括Windows2020 和以后版本)在功能上的擴展 。而利用驅(qū)動程序來攔截數(shù)據(jù)包,雖然功能很強大,但實現(xiàn)起來比較困難。從這點上講 , MFC 極大地加快了 程序開發(fā)速度。 MFC 也會得到擴展,添加新的特性, 變得更加容易建立應用程序。 Visual C++不僅僅是一個編譯器, 它是一個全面的應用程序開發(fā)環(huán)境,使用它你 可以 充分利用具有面向?qū)ο筇匦缘?C++來開發(fā)出專業(yè)級的 Windows應用程序 。應用程序網(wǎng)關會監(jiān)視所有的傳輸,根據(jù)規(guī)則決定是否轉(zhuǎn)發(fā)他們。代理服務器只允許有代理的服務通過,而其他所有服務都完全被封鎖住。用戶可以根據(jù)自己的情況來設置訪問規(guī)則實現(xiàn)對所有訪問的控制,用來達到對安全的保證。 過濾鉤子驅(qū)動程序完成 一個過濾鉤子回調(diào)函數(shù)并在系統(tǒng)提供的 IP 過濾驅(qū)動程序中注冊這個回調(diào)函數(shù)。因此,他們防外不防內(nèi),難以實現(xiàn)對企業(yè)內(nèi)部局域網(wǎng)內(nèi)主機之間的安全通信,也不能 很好的解決每一個撥號用戶所在主機的安全問題,而大多數(shù)個人上網(wǎng)之時,并沒有置身于得到防護的安全網(wǎng)絡內(nèi)部。 國內(nèi)外研究現(xiàn)狀 自從 1986 年美國 Digital 公司在 Inter 上安裝了全球第一個商用防火墻系統(tǒng),提出了防火墻概念后,防火墻技術得到了飛速的發(fā)展。 callback function 目 錄 論文總頁數(shù): 20頁 1 引言 ................................................................... 1 課題背景 ............................................................ 1 國內(nèi)外研究現(xiàn)狀 ...................................................... 1 本課題研究的意義 .................................................... 1 本課題的研究方法 .................................................... 2 2 相關理論技術基礎 ....................................................... 2 防火墻技術簡介 ...................................................... 2 防火墻簡介 ....................................................... 2 ....................................................... 2 防火墻的局限性 ................................................... 3 VISUAL C++ ............................................ 3 3 總體設計方案 ........................................................... 4 設計過程 ............................................................ 4 設計方案 ............................................................ 4 4 過濾鉤子驅(qū)動的實現(xiàn) ..................................................... 5 FILTER_HOOK DRIVER 概述 ................................................. 5 過濾鉤子驅(qū)動的實現(xiàn) ................................................... 6 創(chuàng)建內(nèi)核模式驅(qū)動 ................................................. 6 設置和清除過濾鉤子 ............................................... 8 過濾器鉤子的 I/O控制 ............................................. 9 .................................................... 10 5 客戶端應用程序 ........................................................ 11 界面設計 ........................................................... 12 編碼規(guī)則 ........................................................... 13 主要的類 ........................................................... 13 核心代碼 ........................................................... 14 ............................................... 15 ............................................... 15 ........................................................ 16 結 論 .................................................................. 17 參考文獻 .................................................................. 17 致 謝 .................................................................. 19 聲 明 .................................................................. 20 第 1 頁 共 20 頁 1 引言 課題背景 Inter 的出現(xiàn)及迅速發(fā)展給現(xiàn)代人們的生產(chǎn)和生活都帶來了前所未有的飛躍。人們的學習、工作以及生活越來越依賴于計算機網(wǎng)絡,隨之 也 出現(xiàn)了許多網(wǎng)絡安全問題,因此當前網(wǎng)絡安全產(chǎn)品備受人們的重視。 關鍵詞 : 防火墻;包過濾;鉤子;回調(diào)函數(shù) The Design and Realization of Simple Firewall for Windows Abstract With the rapid development of Inter,