题目 Windows XP包过滤防火墙的设计与实现
论文摘要
当今时代是飞速发展的信息时代计算机与信息处理技术日渐成熟。随着Internet和计算机网络技术的蓬勃发展网络安全问题现在已经得到普遍中重视。网络防火墙系统就是网络安全技术在实际中的应用之一。本设计实现的防火墙采用IP过滤钩子驱动技术过滤钩子驱动是内核模式驱动它实现一个钩子过滤回调函数并用系统提供的IP过滤驱动注册它 IP过滤驱动随后使用这个过滤钩子来决定如何处理进出系统的数据包。本防火墙由以下几个模版组成过滤规则添加模块、过滤规则显示模块、过滤规则储存模块、文件储存模块、安装卸载规则模块 IP封包过滤驱动功能模块。用户只需要通过主界面菜单和按钮就可以灵活地操作防火墙有效地保护Windows系统的安全。
关键词 防火墙过滤钩子过滤驱动包过滤
Design and Implementation of Windows XP Packet Filter Firewall
Abstract
The present era is the rapid development of the informationage,computer and information processing technology is reachingmaturity.With the Internet and the rapid development of computer networktechnology, network security issues are now widely in importance.Networkfirewal l network security technology system is one of the appl ications inpractice.The design and implementation of firewal l IP fi lter hook drivertechnology, fi lter hook driver is a kernel-mode driver,which implements a fi lterhook cal lback function,and use the IP system fi lter driver to register it, IP fi lterdriver then use this fi lter to determine how to hook processing data packetsout of the system.The firewal l component by the fol lowing template: fi lteringrule module, display module fi lter rules, fi lter rules for storage modules, fi lestorage module, the module instal led uninstal l rules, IP packet fi ltering drivermodules.Users only need to interface through the main menus and buttonshave the flexibi l ity to operate the firewal l , effectively protect Windows-basedsystem.
Key Words:Firewal l fi lter hook Fi lter Driver packet fi ltering
第2页
目 录
1 引言
1 .1 课题背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1 .2 本课题研究意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1 .3 本课题研究方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2防火墙概述
2.1 防火墙的定义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.2 防火墙的基本策略. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3 包过滤防火墙. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3.1数据包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3.2包过滤防火墙的工作原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3开发工具
3.1 Visual C++6.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3.2 Visual
SourceSafe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4防火墙系统构成
第3页
4.1 需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4.2 设计思路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4.3 功能模块构成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
4.4 功能模块介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
4.4.1过滤规则添加删除功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
4.4.2过滤规则显示功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
4.4.3过滤规则存储功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.4.4文件存储功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.4.5文件载入功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.4.6安装卸载功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.4.7 IP封包过滤驱动功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
5防火墙设计
5.1 程序关键类
5.1 .1应用程序类CFireWal lAPP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
5.1 .2主框架类CMainFrame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
第4页
5.1 .3文档类CFireWal lDoc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
5.1 .4视图类CFireWal lView. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
5.1 .5 _RuleInfo类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
5.2 详细设计
5.2.1主界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
5.2.2添加过滤规则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
5.2.3删除过滤规则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
5.3 驱动程序设计
5.3.1简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
5.3.2结构图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
5.3.3该驱动的优点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
5.3.4本程序的驱动设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
结 论.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
致 谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
第5页
Windows XP包过滤防火墙的设计与实现
1.1课题背景
防火墙是一种隔离技术是一类防范措施的总称利用踏实的内部网络与Internet或者其他外部网络之间相互隔离通过限制网络互访来保护内部网络。防火墙是建立在内部网络与外部网络之间的唯一安全通道简单的可以只用路由器实现复杂的可以用主机甚至一个子网来实现它可以在IP层设置屏障也可以用应用软件来阻止外来攻击。通过制定相应的安全规则可以允许符合条件的数据进入同时将不符合条件的数据拒之门外这样就可以阻止非法用户的侵入保证内部网络的安全。
1.2本课题研究意义
随着计算机技术和网络技术的发展计算机网络给人们带来了很多便利与此同时网络安全的问题也伴随着网络技术的发展而日趋严重。使用防火墙能很好的提高系统的安全性减少系统收到网络安全方面的威胁。本毕业设计选择开
第6页
发一个Windows下的防火墙它能够对网络IP数据包按照用户的设置进行过滤。通过此防火墙的开发锻炼了学生的实际动手能力对以后的学习和工作能力的培养具有重要意义。
1.3本课题研究方法
本设计使用VS2010开发运用IP过滤钩子驱动技术设计和实现的。本次毕业设计应首先分析防火墙的相关功能结合本次毕业设计的相关要求写出需求分析其次综合运用以前所学的相关知识在设计中以需求分析为基础写出系统开发计划、实现流程及相关问题的实现方法同时在开发设计与视线中要保存好相关的设计文档。
2 防火墙概述
2.1防火墙的定义
防火墙是指设置在不同网络如可信的企业内部网和不可信的公开网或网络安全域之间的一系列部件的组合。它可通过监测、限制、更改跨越防火墙的数据流尽可能地对外部屏蔽网络内部的信息、结构和运行状况以此来实现网络
第7页
的安全保护。
在逻辑上防火墙是一个分离器一个限制器也是一个分析器有效地监控了内部网和Internet之间的任何活动保证了内部网络的安全。
防火墙是设置在被保护网络和外部网络之间的一道屏障实现网络的安全保护以防止发生不可预测的、潜在破坏性的侵入。防火墙本身具有较强的抗攻击能力它是提供信息安全服务、实现网络和信息安全的基础设施。
2.2防火墙的基本策略
按照美国国家计算机安全协会(NCSA)的建议制定安全计划必须包括服务访问策略和防火墙设计策略。服务访问策略应包括控制用户对某些Internet服务的访问。另外用户也需要限制访问的方式如PPP或SLIP。在建立服务访问政策时需要注意两个方式
1. 不允许从Internet上访问到用户的网络但是允许个别用户设定得到的网络访问有限Internet站点。但必须进行地址伪装
2. 允许有限的从Internet上访问到公司网络如从Internet上只能访问公司的WWW和FT P服务器。
作为防火墙策略就是定义实现服务访问策略的具体规则。在实现防火墙策
第8页
略时用户可以采用以下两个原则之一
1 . 除了允许的事件之外拒绝其他所有的事件。
2. 除了拒绝的事件之外允许其他的任何事件。
制定的策略是由一条条规则构成的防火墙的规则可分为三条链输入链、
输出链和转发链。
2.3 包过滤防火墙
2.3.1 数据包
数据包是指IP网络消息。 IP标准定义了在网上两台计算机之间大宋的消息的结构结构上一个包包含了一个信息头和应被传送数据的一段消息体。Linux中包含的IP防火墙机制3种IP消息类型 ICMP Internet控制消息协议 、UDP用户数据报协议和TCP传输控制协议 。所有的IP包头包含了源、目的IP地址、 IP协议消息类型。包头里根据协议类型还包括了不同的字段。 ICMP数据包包含了一个类型字段用来标识控制或状态消息类型。UDP和TCP包包含了源和目的服务端口号。
2.3.2 包过滤防火墙的工作原理
采用这种技术的防火墙产品通过在网络中的适当位置对数据包进行过滤
第9页
企鹅小屋:垃圾服务商有跑路风险!企鹅不允许你二次工单的,二次提交工单直接关服务器,再严重就封号,意思是你提交工单要小心,别因为提交工单被干了账号!前段时间,就有站长说企鹅小屋要跑路了,站长不太相信,本站平台已经为企鹅小屋推荐了几千元的业绩,CPS返利达182.67CNY。然后,站长通过企鹅小屋后台申请提现,提现申请至今已经有20几天,企鹅小屋也没有转账。然后,搞笑的一幕出现了:平台账号登录不上提示...
也有在上个月介绍到糖果主机商12周年的促销活动,我有看到不少的朋友还是选择他们家的香港虚拟主机和美国虚拟主机比较多,同时有一个网友有联系到推荐入门的个人网站主机,最后建议他选择糖果主机的迷你主机方案,适合单个站点的。这次商家又推出所谓的秋季活动促销,这里一并整理看看这个服务商在秋季活动中有哪些值得选择的主机方案,比如虚拟主机最低可以享受六折,云服务器可以享受五折优惠。 官网地址:糖果主机秋季活动促...
racknerd发表了2021年美国独立日的促销费用便宜的vps,两种便宜的美国vps位于洛杉矶multacom室,访问了1Gbps的带宽,采用了solusvm管理,硬盘是SSDraid10...近两年来,racknerd的声誉不断积累,服务器的稳定性和售后服务。官方网站:https://www.racknerd.com多种加密数字货币、信用卡、PayPal、支付宝、银联、webmoney,可以付...