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

正文內(nèi)容

windows簡(jiǎn)單防火墻的設(shè)計(jì)與實(shí)現(xiàn)—免費(fèi)畢業(yè)設(shè)計(jì)論文-文庫(kù)吧

2025-10-26 11:26 本頁(yè)面


【正文】 火墻分類(lèi) 根據(jù)對(duì)限制傳輸機(jī)制的不同,把防火墻大致分成以下三種:封包過(guò)濾、代理 服務(wù) 器和應(yīng)用程序網(wǎng)關(guān): ,這些信息都是以包的形式進(jìn)行傳輸?shù)?,?shù)據(jù) 包中包含發(fā)送方的 IP 地址,接收方的 IP 地址,端口,鏈路狀態(tài)等信息 。防火墻的工作就是把這些信息讀取出來(lái),再根據(jù)用戶自定義的規(guī)則來(lái)進(jìn)行過(guò)濾。那些不符合規(guī)則的數(shù)據(jù)包將被過(guò)濾 掉,以保證網(wǎng)絡(luò)的安全。 ,如果合法,代理服務(wù)器向一臺(tái)客戶機(jī)取回所需的信息在轉(zhuǎn)發(fā)給客戶。它將內(nèi)部系統(tǒng)與外界隔離開(kāi)來(lái),從外面只能看到代理服務(wù)器而看不到任何內(nèi)部資源。代理服務(wù)器只允許有代理的服務(wù)通過(guò),而其他所有服務(wù)都完全被封鎖住。這一點(diǎn)對(duì)系統(tǒng)安全是非常重要的,只有那些被認(rèn)為 “可信賴(lài)的 ”服務(wù)才允許通過(guò)防火墻。另外代理服務(wù)還可以過(guò)濾協(xié)議,如可以過(guò)濾 FTP 連接,拒絕使用 FTP put(放置)命令,以保證用戶不能將文件寫(xiě)到匿名服務(wù)器。代理服務(wù)器具有信息隱藏,保證有效 第 3 頁(yè) 共 20 頁(yè) 的認(rèn)證和登 陸,簡(jiǎn)化了過(guò)濾規(guī)則等優(yōu)點(diǎn)。網(wǎng)絡(luò)地址轉(zhuǎn)換服務(wù)可以屏蔽內(nèi)部網(wǎng)絡(luò)的 IP 地址,使網(wǎng)絡(luò)結(jié)構(gòu)對(duì)外部來(lái)講是不可見(jiàn)的。 。通信時(shí),內(nèi)部客戶首先和應(yīng)用程序網(wǎng)關(guān)建立連接,應(yīng)用程序網(wǎng)關(guān)確定這個(gè)連接是否被允許,如果允許的話再和目的計(jì)算機(jī)建立連接。因此,所有的通訊都需要經(jīng)過(guò)兩個(gè)連接 —— 客戶到網(wǎng)關(guān)的連接和網(wǎng)關(guān)到目的主機(jī)的連接。應(yīng)用程序網(wǎng)關(guān)會(huì)監(jiān)視所有的傳輸,根據(jù)規(guī)則決定是否轉(zhuǎn)發(fā)他們。和代理服務(wù)器一樣,外面的世界看到的只是應(yīng)用網(wǎng)關(guān)的 IP 地址,這就有效地保護(hù)了內(nèi)部網(wǎng)絡(luò)。 防火墻的局限 性 雖然防火墻按照我們的要求嚴(yán)格地把守著網(wǎng)絡(luò)安全的大門(mén),但它也不是萬(wàn)能的,也存在著一些局限性。比如它不能防范不經(jīng)過(guò)它的攻擊,也就是可以尋找一條小路繞開(kāi)防火墻把守的大門(mén)。 例如,如果允許從受保護(hù)的網(wǎng)絡(luò)內(nèi)部向外撥號(hào),一些用戶就可能形成與 Inter的直接連接。另外,防火墻很難防范來(lái)自于網(wǎng)絡(luò)內(nèi)部的攻擊以及病毒的威脅。 它更不可能防止靠欺騙來(lái)獲得某些可以破壞安全的信息的社會(huì)工程的攻擊。 Visual C++ 相關(guān)技術(shù)簡(jiǎn)介 Visual C++ 是 Microsoft 公司推出的功能強(qiáng)大的軟件開(kāi)發(fā)平臺(tái),是 真正 的程序員 首選的開(kāi)發(fā)工具之一。 Visual C++不僅僅是一個(gè)編譯器, 它是一個(gè)全面的應(yīng)用程序開(kāi)發(fā)環(huán)境,使用它你 可以 充分利用具有面向?qū)ο筇匦缘?C++來(lái)開(kāi)發(fā)出專(zhuān)業(yè)級(jí)的 Windows應(yīng)用程序 。它 是一個(gè) C++實(shí)現(xiàn), 提供了一個(gè)功能強(qiáng)大的集成開(kāi)發(fā)環(huán)境;另一方面,它提供了一些 C++類(lèi)庫(kù),其中最具影響力的是 MFC。此外, Visual C++還融合了大量的開(kāi)發(fā)工具,特別是與Inter 相關(guān)的開(kāi)發(fā)支持。 Visual C++ 以 ANSIC++為基礎(chǔ),并在此基礎(chǔ)上進(jìn)行了大量的擴(kuò)展,以適應(yīng)開(kāi)發(fā)各種 Windows 應(yīng)用程序的需 要。到目前為止,絕大多數(shù) Windows 應(yīng)用程序都是用 Visual C++ , Visual C++ Windows 環(huán)境下進(jìn)行大型軟件開(kāi)發(fā)的首選。 MFC 是一個(gè)很大的、擴(kuò)展了的 C++類(lèi)層次結(jié)構(gòu),它能使開(kāi)發(fā) Windows 應(yīng)用程序變得更加容易。 MFC 在整個(gè) Windows 家族中都是兼容的,也就是說(shuō),無(wú)論是 、Windows95 還是 Windows NT,所使用的 MFC 是兼容的。每當(dāng)新的 Windows 版本出現(xiàn)時(shí),MFC 也會(huì)得到修改以便使舊的編譯器和代碼能在新的系 統(tǒng)中工作。 MFC 也會(huì)得到擴(kuò)展,添加新的特性, 變得更加容易建立應(yīng)用程序。 與傳統(tǒng)上使用 C 語(yǔ)言直接訪問(wèn) Windows API 相反,使用 MFC 和 C++的優(yōu)點(diǎn)是 MFC已經(jīng)包含和壓縮了所有標(biāo)準(zhǔn)的“樣板文件”代碼,這些代碼是所有用 C 編寫(xiě)的 Windows程序所必需的。因此用 MFC 編寫(xiě)的程序要比用 C 語(yǔ)言編寫(xiě)的程序小得多。另外, MFC 所編寫(xiě)的程序的性能也毫無(wú)損失。必要時(shí),可以直接調(diào)用標(biāo)準(zhǔn) C 函數(shù),因?yàn)?MFC 不修改也不隱藏 Windows 程序的基本結(jié)構(gòu)。 使用 MFC 的最大優(yōu)點(diǎn)是它為你做了所有最難做的事。 MFC 中包含了上成千上萬(wàn)行正 第 4 頁(yè) 共 20 頁(yè) 確、優(yōu)化和功能強(qiáng)大的 Windows 代碼。你所調(diào)用的很多成員函數(shù)完成 了你自己可能很難完成的工作。從這點(diǎn)上講 , MFC 極大地加快了 程序開(kāi)發(fā)速度。 3 總體 設(shè)計(jì)方案 設(shè)計(jì)過(guò)程 防火墻是對(duì)所截取的數(shù)據(jù)包按用戶定義的規(guī)則進(jìn)行過(guò)濾的,所以要開(kāi)發(fā)設(shè)計(jì)一個(gè)防火墻,第一步要實(shí)現(xiàn)對(duì)數(shù)據(jù)包的截取。如果數(shù)據(jù)包的攔截沒(méi)有實(shí)現(xiàn),那么分析、過(guò)濾等就是空談。截獲數(shù)據(jù)包有很多種方法,首先想到了 Winpcap(Windows Packet Capture), 它是Windows 平臺(tái)下的一個(gè)免費(fèi)、公共的網(wǎng)絡(luò)訪問(wèn)系統(tǒng)。但后來(lái)發(fā)現(xiàn)其主要功能在于獨(dú)立于主機(jī)協(xié) 議(如 TCP/IP) 而發(fā)送 和 接收原始數(shù)據(jù)。也就是是說(shuō), Winpcap 不能阻塞、過(guò)濾或控制其他應(yīng)用程序數(shù)據(jù)包的收發(fā),它僅僅是監(jiān)聽(tīng)共享網(wǎng)絡(luò)上傳送的數(shù)據(jù)報(bào)。因此,把它用于開(kāi)發(fā)個(gè)人防火墻將會(huì)比較困難。 雖然 用戶態(tài)下實(shí)現(xiàn) 數(shù)據(jù)包捕獲 比較容易,但其攔截?cái)?shù)據(jù)包有一些局限性,一個(gè)最大的缺點(diǎn)就是只能在 Winsock 層次上進(jìn)行,而對(duì)于網(wǎng)絡(luò)協(xié)議棧中底層協(xié)議的數(shù)據(jù)包無(wú)法進(jìn)行處理。而利用驅(qū)動(dòng)程序來(lái)攔截?cái)?shù)據(jù)包,雖然功能很強(qiáng)大,但實(shí)現(xiàn)起來(lái)比較困難。做折中比較后,在用驅(qū)動(dòng)程序攔截?cái)?shù)據(jù)包的方法中選擇了一個(gè)最簡(jiǎn)單的方法:使用 Win2020 DDK 中提供的 FilterHook Driver 來(lái)實(shí)現(xiàn)數(shù)據(jù)包的過(guò)濾 。 設(shè)計(jì)方案 本設(shè)計(jì)分成兩大模塊:數(shù)據(jù)過(guò)濾鉤子驅(qū)動(dòng)模塊和 用戶操作界面 程序模塊。 圖 利用在 Microsoft Windows 2020 DDK 中介紹的 FilterHook Drive 來(lái)實(shí)現(xiàn)對(duì)所有進(jìn)出接口的數(shù)據(jù)進(jìn)行過(guò)濾。主要有以下五個(gè)步驟: ① 建立內(nèi)核模式驅(qū)動(dòng) FilterHook Drive; ② 取得指向 IP Filter Driver 的指針; IP 過(guò)濾驅(qū)動(dòng)程序 網(wǎng)絡(luò)適配器驅(qū)動(dòng)程序 網(wǎng)絡(luò)適配器 用戶界面程序 過(guò)濾鉤子驅(qū)動(dòng)程序 第 5 頁(yè) 共 20 頁(yè) ③ 利用步驟 2 得到的指針,發(fā)送特殊的 IRP 來(lái)安裝過(guò)濾函數(shù); ④ 過(guò)濾數(shù)據(jù); ⑤ 結(jié)束過(guò)濾,撤消過(guò)濾函數(shù)。 程序模塊 該模塊主要就是用戶所看到的程序界面,是用戶和防火墻進(jìn)行對(duì)話的對(duì)象。它負(fù)責(zé)管理用戶定義的過(guò)濾規(guī)則,與數(shù)據(jù)過(guò)濾 鉤子 驅(qū)動(dòng)模塊進(jìn)行通信。主要利用 過(guò)濾鉤子驅(qū)動(dòng) 模塊應(yīng)用輸出接口提供的四個(gè) IOCTL 來(lái)實(shí)現(xiàn)相應(yīng)功能: START_IP_HOOK(注冊(cè)過(guò)濾函數(shù) );STOP_IP_HOOK(撤消過(guò)濾函數(shù)); ADD_FILTER(安裝新的過(guò)濾規(guī)則) CLEAR_FILTER(清除所有規(guī)則) 4 過(guò)濾鉤子 驅(qū)動(dòng)的實(shí)現(xiàn) Filter_Hook Driver 概述 在 Windows2020 DDK 中, Microsoft 聲稱(chēng) 包括了新的網(wǎng)絡(luò)驅(qū)動(dòng)類(lèi)型 FilterHook Driver。其實(shí) FilterHook Drive 并不是一種新的網(wǎng)絡(luò)驅(qū)動(dòng)類(lèi)型,它 僅僅是 IP Filter Driver(包括Windows2020 和以后版本)在功能上的擴(kuò)展 。它是一種 KMD(Kernel Mode Driver 內(nèi)核模式驅(qū)動(dòng) ),與 IpFilterDrive 相配合。就也就決定了它只能用于 TCP/IP 協(xié)議,而對(duì) IPX/SPX、NetBEUI 等其他協(xié)議無(wú)能為力。 從 Windows 2020 開(kāi)始, IpFilterDrive 成為系統(tǒng)自帶的一個(gè)驅(qū)動(dòng)。 顧名思義就是 IP 過(guò)濾驅(qū)動(dòng),對(duì)應(yīng) 系統(tǒng)目錄下 文件。 它允許用戶注冊(cè)自己的 ip 數(shù)據(jù)報(bào)處理函數(shù)。在MSDN 中有關(guān)于這方面內(nèi)容的簡(jiǎn)短說(shuō)明,位于 filterhook driver reference 章節(jié)中。這一部分說(shuō)明文檔論述了 filterhook 驅(qū)程實(shí)現(xiàn)的回調(diào)函數(shù)和該驅(qū)程用以注冊(cè)回調(diào)函數(shù)的 i/o 控制碼。回調(diào)函數(shù)是這類(lèi)驅(qū)程的主體部分。操作系統(tǒng)提供的 ip 過(guò)濾驅(qū)動(dòng)程序使用這個(gè)過(guò)濾鉤子來(lái)判斷 ip 數(shù)據(jù)包的處理方式。 所注冊(cè)的過(guò)濾鉤子是用 PacketFilterExtensionPtr 數(shù)據(jù)類(lèi)型定義的。由于是使用函數(shù)的地址而不是函數(shù)的名字注冊(cè)過(guò)濾鉤子的入口點(diǎn),所以可以自由的為過(guò)濾鉤子函數(shù)命名。 在圖 2 中說(shuō)明了過(guò)濾鉤子驅(qū)動(dòng)程序的流程結(jié)構(gòu),這就給我們提供了攔截網(wǎng)絡(luò)數(shù)據(jù)包的基本思路。內(nèi)核中的過(guò)濾器鉤子驅(qū)動(dòng)將本機(jī)進(jìn)出的所有封包都傳入到我們的虛擬設(shè)備中,按照我們提供的過(guò)濾規(guī)則進(jìn)行處理。 第 6 頁(yè) 共 20 頁(yè) 圖 2 .過(guò)濾器鉤子驅(qū)動(dòng)程序流程示意圖 過(guò)濾鉤子驅(qū) 動(dòng)的實(shí)現(xiàn) 創(chuàng)建內(nèi)核模式驅(qū)動(dòng) 首先過(guò)濾器鉤子驅(qū)動(dòng)程序設(shè)置過(guò)濾器鉤子回調(diào)函數(shù),它是這類(lèi)驅(qū)動(dòng)程序的主體,通過(guò)系統(tǒng)提供的 IP 過(guò)濾器驅(qū)動(dòng)注冊(cè)這些過(guò)濾器鉤子回調(diào)函數(shù),隨后, IP 過(guò)濾器驅(qū)動(dòng)就可以使用 過(guò)濾 器鉤 子決 定如何 處理 傳入 或傳 出的數(shù) 據(jù)包 .所 注冊(cè) 的過(guò)濾 鉤子 是用PacketFilterExtensionPtr 數(shù)據(jù)類(lèi)型定義的。以下是該數(shù)據(jù)類(lèi)型原型: tyfedef PF_FORWARD_ACTION (*PacketFilterExtensionPtr)( IN unsigned char *PacketHeader, //封包的 IP 頭指針 IN unsigned char *Packet, //具體封包數(shù)據(jù),不包括頭指針 IN unsigned int PacketLength, //具體封包數(shù)據(jù)大小,不包含頭指針 IN ubsigned int RecvInterfaceTndex, //接收數(shù)據(jù)的接口適配器編號(hào) IN unsigned int SendInterfaceIndex , //發(fā)送數(shù)據(jù)的接口適配器編號(hào) IN IPAddr RecvLinkNextHop, //接收數(shù)據(jù)包的適配器 IP 地址 IN IPAddr SendLinkNextHop //發(fā)送數(shù)據(jù)包的適配器 IP 地址 )。 PacketHearder 參數(shù)指向的數(shù)據(jù)通常定義為 IPHearder 結(jié)構(gòu),它提供了封包的詳細(xì)信息。 Typedef struct IPHearder { UCHAR iphverLen。 //版本號(hào)和頭長(zhǎng)度 UCHAR ipTOS。 //服務(wù)類(lèi)型 USHORT ipLength。 //封包 總長(zhǎng)度,即整個(gè) IP 報(bào)的長(zhǎng)度 USHORT ipID。 //封包標(biāo)適,唯一 標(biāo)識(shí) 發(fā)送的每一個(gè)數(shù)據(jù)報(bào) USHORY ipFlags。 //標(biāo)志 UCHAR ipTTL。 //生存時(shí)間 UCHAR ipProtocol。 //協(xié)議,其中 TCP( 6)、 UDP( 17)、 ICMP( 1) USHORT ipChecksum。 //效驗(yàn)和 ULONG ipSoruce。 //源 IP 地址 TDI IP 層 NDIS 過(guò)濾鉤子 第 7 頁(yè) 共 20 頁(yè) ULONG ipDestination。 //目的 IP 地址 }IPPacket。 Packet 參數(shù)指向去掉 IP 頭之后的數(shù)據(jù)報(bào),開(kāi)頭是一個(gè) TCP 頭、 UDP 頭、 ICMP 頭,這都需要根據(jù) IP 頭的 ipProtocol 域確定。 TCP 頭 : typedef stuct_TCPHeader { USHORT sourcePort。 //源端口 USHORT destinationPort。 //目的端口 ULONG sequenceNumber。 //seq 序號(hào) ULONG acknowledgeeNumber。 //ack 序號(hào) UCHAR dataoffset。 //數(shù)據(jù)指針 UCHAR flags。 //標(biāo)志 USHORT windows。 //窗口大小 USHORT checksum。 //校驗(yàn)和 USHORT urgenPointer。 //緊急指針 }TCPHeader; UDP 頭: Typedef stuct_UDPHeader { USHORT sourcePort。 //源端口號(hào) USHORT destinationPort。 //目的端口號(hào) USHORT len。 //封包長(zhǎng)度 USHORT checksum。 //校驗(yàn)和 }UDPHearder。 在過(guò)濾器鉤子驅(qū)動(dòng)通過(guò)系統(tǒng)提供的 IP 過(guò)濾器驅(qū)動(dòng)注冊(cè)其過(guò)濾鉤子( filter hook )的入口點(diǎn)時(shí),已給出了過(guò)濾器鉤子的符號(hào)(可變)地址 。 由于過(guò)濾器驅(qū)動(dòng)程序不是提供 過(guò)濾
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1