题目 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页
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...
BlueHost 主机商在以前做外贸网站的时候还是经常会用到的,想必那时候有做外贸网站或者是选择海外主机的时候还是较多会用BlueHost主机商的。只不过这些年云服务器流行且性价比较高,于是大家可选择商家变多,但是BlueHost在外贸主机用户群中可选的还是比较多的。这次年中618活动大促来袭,毕竟BLUEHOST商家目前中文公司设立在上海,等后面有机会也过去看看。他们也会根据我们的国内年中促销发...
目前国内云计算市场竞争异常激烈,尤其是国内的腾讯云、阿里云、景安等商家促销活动一波接一波的进行,对于有需要的用户确实得到不小的实惠。但是这样给予国内的主机商确实是比较大的打击,毕竟这些商家的背景和实例强劲,即便是贴本补贴优惠,也是不怕的。前两年阿里一家各种活动促销,确实在国内市场占据主要的市场地位,腾讯云开始两年没有较大的吸引用户,不过这两年的发展还是比较稳健的。我们很多网友在之前肯定也享受到一些...