ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:36.70KB ,
资源ID:11780388      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11780388.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Windows平台的个人防火墙设计资料.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Windows平台的个人防火墙设计资料.docx

1、基于Windows平台的个人防火墙设计资料分类号: TP311.1U D C: D10621-408-(2007)5914-0密级:公开编 号: 2003032050成 都 信 息 工 程 学 院学 位 论 文基于 Windows 平台下的个人防火墙设计论文作者姓名:李涵申请学位专业:网络工程申请学位类别:工学学士指导教师姓名(职称):刘嘉勇(教授)论文提交日期:2007年6月 5 日基于 Windows 平台下的个人防火墙设计摘 要网络安全问题长期威胁着网络终端用户, 需要有有效的安全工具解决这个问题,个人防火墙就是其中的一种常用的安全工具。为了实现个人防火墙软件, 选用 VC+6.0 开发

2、工具。软件系统主要包括两项工程 , 一是核心模块设计,即 DLL工程,实现了封包截获、管制动作和协议封包的解析任务,主要利用 Winsock 2 SPI 技术实现网络封包截获, 之后利用控管规则对过往封包进行合法性检查和过滤,方法是首先利用 Winsock 2 SPI 技术建立 winsock 钩子,用它来截获 winsock 的调用,然后作出相应动作处理, 动作处理需通过控管规则的检查后, 确定 socket连接是否允许通过,其中控管规则由用户层设置;二是用户模块设计, 即 EXE工程,实现用户界面和负责与 DLL模块的通信,提供了 3 个主要界面,即封包监视、控管规则、控管规则设置。 最后

3、通过测试和应用, 基本解决了终端用户的网络连接安全问题。关键词: 过滤;动态连接库; Winsock 2 SPI ;网络封包;协议封包The Design of the Personal Firewall Based on WindowsAbstractThe terminal users of network are always threaten by the problems of security of network,so we need a effective tool to solve this problem.The personal firewall is one of th

4、e common tools of security. VC+ is selected to implement the personal firewall.The system has two projects mainly. One of the projects is the design of core module which can be called the project of DLL.This project implements behaviors of management and the analysis of packets of protocols. The tec

5、hnology of Winsock 2 SPI is used to capture of pakcets of network. After that, then the checking and filtering of the packets are done using the rules of control and management. At the beginning, the control rules build up the Hook of winsock which is used to capture the tranfer of winsock,and then

6、it implements relative behaviors.The link of socket will be or not get through checking by the rules of control and management. The rules of control and management are set by the layer of user.Then, we should design the module of user which can be called the project of exe. It implements the interfa

7、ce of user and the module of communication with DLL. It provides three main interfaces, they are the watching of filtering packet, the rules of control and management and the setting of rules of control and management. Finally, it has solved the requirement of security of terminal users after the fi

8、nal testing and application.Key words: Filter ;DLL;Winsock 2 SPI;Network packets; Protocol packets论文总页数: 25 页1引言.11.1课题背景与意义 .11.2设计实现的主体功能 .11.3本课题的研究方法 .12WINSOCK 2 SPI编程技术 .22.1WINSOCK2 SPI 基础 .22.2传输服务提供者 .23开发平台与开发工具 .24系统设计与模块划分 .34.1本课题要实现的具体功能 .34.2程序工作流程图 .34.3模块划分 .44.3.1模块划分原则 .44.3.2模块结构

9、 .44.3.3模块接口定义 .54.4控管规则文件结构设计 .64.4.1控管规则文件需要存储的内容 .74.4.2控管规则文件结构 .84.5界面设计 .84.5.1制定界面风格 .84.5.2界面设计文档 .84.6编码规则 .125核心功能的代码实现 .125.1DLL 的封包截获 .125.2DLL 的访问控管 .165.2.1对服务提供者函数做管制的函数. 165.2.2封包处理函数 .175.2.3管制函数 .175.2.4设置函数 .206测试.21结论.22参考文献.22致 谢 24声 明 251引言1.1 课题背景与意义目前,随着网络向各个领域的扩展,网络安全的重要性日益被

10、人们所认知。ISP 提供商担心网络被攻击,因为这种事情发生太频繁;使用网上交易的用户担心帐户密码被盗,因为窃取密码的工具比比皆是;软件公司担心源代码泄露, 就连微软也没逃脱厄运。 种种现象都表明网络安全越来越重要, 这种事情随时都可能发生在我们自己身上。 这也正是网络安全快速发展的原因。 所以防火墙和防病毒软件格外的重要,也被现在的人们强烈的需要。1.2 设计实现的主体功能现在防火墙的花样与种类繁多, 让人眼花缭乱。 但是防火墙的主要功能是防止外部网络的攻击以达到保护主机的目的。我认为哪些未知的网络 IP 可能对主机产生攻击可能我们都不知道。 只要试验过才知道。 所以现在防火墙一般与防病毒软件

11、配合使用。这样才能安全的保护主机。实现的主要的核心功能如下定义:1.根据应用程序访问规则可对应用程序连网动作进行过滤;2.对应用程序访问规则具有自学习功能;3.可实时监控、监视网络活动。1.3 本课题的研究方法本课题由两大模块构成,分别为 DLL模块和 EXE模块。首先利用 Winsock 2 SPI 技术建立 winsock 钩子用来截获 winsock 调用从而拦截 TCP/IP 封包,并做相应处理。然后设置控管规则访问控制,通过控管规则的检查认证,确定 socket 连接是否允许通过。最后是 TCP/IP 的封包分析, 利用TIP/IP 的封包结构分析截获的数据,提取需要的数据。这些封装

12、在 DLL里面。EXE模块主要是用户页面的制作。 这里介绍与 DLL通信的地方。 EXE中与 DLL直接通信的小模块主要有两个。一个是完成应用程序初始化的类 CPropertyApp,它继承自 CWinApp,是 EXE的入口,其实里面封装了 WinMain 函数;另一个是主窗口模块 CMainFrame,这个主窗口并不是 EXE显示出来的那个属性页窗口,而是一个隐藏的窗口,它继承自 CMrameWnd,是一个无模式窗口,他隐藏显示,充当接受机,用来接受 DLL及其他模块发送过来的消息, 然后对消息进行相应的处理。每一个连网的程序连网之前都会建立一个 Socket 连接。这时钩子程序就会起作用

13、,把截获的底层服务进行“过滤” 。及先调用自定义的函数再转给下层服务提供者函数。我就是在这一层实现封包过滤的。把规则与功能写到这一层。 这第1页共25页一层的实现是本课题的核心。2 WINSOCK 2 SPI编程技术Winsock 2 是 WindowsSockets 的 2.0 版本,在此之前的版本是 1.1 。与 1.1版本相比, 2.0 版本引入了一种新的叫做 SPI 的编程接口。利用这种技术可以在Socket 中插入一曾层,从而可以完成诸如扩展 TCP/IP 协议栈,网络安全控制等功能,所以这是一个非常强大而且有用的接口,下面介绍这种编程技术。2.1 WINSOCK 2 SPI基础Wi

14、nsock 是为上层应用程序提供的一种标准网络接口,上层应用程序不用关心 Winsock 实现的细节,它为上层应用程序提供透明的服务。Winsock 2 引入的一个新的功能就是打破服务提供者的透明,让开发者可以编写自己的服务提供者接口程序,即 SPI 程序。 SPI 以动态链接库的形式存在,它工作在应用层,为上层 API 调用接口函数。 Winsock 2 是一个接口,不是一个协议。作为接口,它只能发现和利用底层传输协议完成通信。自己编写的 SPI 程序安装到系统之后, 所有的 Winsock 请求都会发送到这个程序并由它完成网络调用。 由于系统提供的 SPI 已经可以完成网络传输功能, 所以

15、自己编写的 SPI 没有必要重新编写这部分功能。 一般可以直接调用系统函数完成网络传输,这样工作的效果就是“钩子程序。Winsock 2 SPI 除了有完成网络传输的传输服务提供者,还有提供友好名称服务的名字空间服务提供者。传输服务提供者能够提供建立通信、传输数据、 流量控制和错误控制等服务。 名字空间服务提供者把一个网络协议的地址属性和一个或多个用户友好名称关联起来,这样可以起用与协议无关的名字解析方案。2.2 传输服务提供者传输服务提供者又分为基础服务提供者和分层服务提供者。 基础服务提供者和分层服务提供者都开放相同的 SPI 接口,所不同的是基础服务提供者位于提供者的最底层。 所以编写基

16、础服务提供者和分层服务提供者基本相同。 但安装是却需要将基础服务提供者安装在服务提供者加载顺序链的最底端, 而分层服务提供者则根据需要分布在顺序链的中间。3开发平台与开发工具开发平台如题说明,以 Windows平台为主,重点讨论开发工具的选择。根据不同的工程选择不同的开发工具, 可以有效地提高工作效率。 不同的开发工具各有各的优点同时又各有各的不足,在开发中要扬长避短。目前常用的 Windows开发工具有 VS 5.0/6.0 、VS.net (包括 VB、BC、VFP、VJ、C#等一组开发工具)、delphi 、 C+ Builder,JBuilder 、PB等。在这些开发工具里面, VFP

17、和 PB 一般用来专门开发数据库系统,它们具有第2页共25页灵活的数据库接口。VB和 Delphi 既可以方便地做出复杂的数据库管理系统,又能轻松地完成操作系统级的任务。最优秀的是很容易做出漂亮的界面。VC和 Borland C+着重于系统编程,它们开放接口较多,也最为灵活,而且编译出的程序体积较小, 所以比较适合做系统工具类软件。 缺点是短时间不容易掌握。其中 Borland 使用的 VCL类库是为 Delphi 准备的,并不是真正用 C+实现的。VJ、Jbuilder 和 Java 语言主要面向互联网应用。最大的优势是跨平台。本课题为防火墙软件,较多的使用系统接口,而且界面简单。另外,防火

18、墙主要传播渠道是互联网,这就要求体积应尽量的小,安装尽量方便。所以选择VC为开发工具。4系统设计与模块划分4.1 本课题要实现的具体功能本设计实现的具体功能如下:1.封包监视(1)提供封包监视页面。(2)提供清空监视列表,停止 / 开始监视及停止 / 开始滚动功能。2.控管规则设置(1) 手工添加,删除及修改控管规则。(2)自学习添加控管规则。(3)控管规则中目的网络 IP 地址段的设置。(4)提供控管规则设置页面。3.封包过滤(1) DLL 给出设置工作模式和设置控管规则的接口函数。工作模式分为 3种形式:放行所有,拒绝所有和过滤。(2) DLL 根据工作模式和控管规则对过往封包进行过滤。(

19、3) DLL 将通过的网络封包通知 EXE取走 。4.2 程序工作流程图Winsock 2 SPI 是一个 DLL 程序,它工作在 API 和 DRIVER之间,为上层应用程序提供服务。 EXE与 DLL构成软件的主题,也是编写软件的主要工作。流程图如图 1 所示。第3页共25页用户界面( EXE )模块1.1户界面接口模块 1.2 安装模块 1.1用户界面接口模块 1.1.1 控管规则模块 1.3读写控管控管规则文件输入界面接口规则(.cfg)Winsock 2SPI模块 1.1.2 封包监(DLL )模块 1.4设置控管模块 2.2 控模块视界面接口规则管规则2.1封包模块 1.5设置工作模块 2.3 工过模式作模式滤图 1 防火墙工作流程图4.3 模块划分4.3.1 模块划分原则模块划分是系统分析中非常

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1