优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

VC毕业设计_基于Windows平台的个人防火墙设计

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
1.1课题背景与意义

目前,随着网络向各个领域的扩展,网络安全的重要性日益被人们所认知。ISP提供商担心网络被攻击,因为这种事情发生太频繁;使用网上交易的用户担心帐户密码被盗,因为窃取密码的工具比比皆是;软件公司担心源代码泄露,就连微软也没逃脱厄运。种种现象都表明网络安全越来越重要,这种事情随时都可能发生在我们自己身上。这也正是网络安全快速发展的原因。所以防火墙和防病毒软件格外的重要,也被现在的人们强烈的需要。

本文来自think58

[来源:http://think58.com]

[资料来源:http://www.THINK58.com]

1.2设计实现的主体功能

现在防火墙的花样与种类繁多,让人眼花缭乱。但是防火墙的主要功能是防止外部网络的攻击以达到保护主机的目的。我认为哪些未知的网络IP可能对主机产生攻击可能我们都不知道。只要试验过才知道。所以现在防火墙一般与防病毒软件配合使用。这样才能安全的保护主机。

本文来自think58 [资料来源:http://www.THINK58.com]

[资料来源:http://think58.com]

实现的主要的核心功能如下定义: 内容来自think58

[来源:http://www.think58.com]

  1. 根据应用程序访问规则可对应用程序连网动作进行过滤;
  2. 对应用程序访问规则具有自学习功能;
  3. 可实时监控、监视网络活动。
1.3本课题的研究方法

本课题由两大模块构成,分别为DLL模块和EXE模块。 think58 [来源:http://think58.com]

首先利用Winsock 2 SPI技术建立winsock钩子用来截获winsock调用从而拦截TCP/IP封包,并做相应处理。然后设置控管规则访问控制,通过控管规则的检查认证,确定socket连接是否允许通过。最后是TCP/IP的封包分析,利用TIP/IP的封包结构分析截获的数据,提取需要的数据。这些封装在DLL里面。 本文来自think58 [资料来源:THINK58.com]

EXE模块主要是用户页面的制作。这里介绍与DLL通信的地方。EXE中与DLL直接通信的小模块主要有两个。一个是完成应用程序初始化的类CPropertyApp,它继承自CWinApp,是EXE的入口,其实里面封装了WinMain函数;另一个是主窗口模块CMainFrame,这个主窗口并不是EXE显示出来的那个属性页窗口,而是一个隐藏的窗口,它继承自CMrameWnd,是一个无模式窗口,他隐藏显示,充当接受机,用来接受DLL及其他模块发送过来的消息,然后对消息进行相应的处理。 think58好,好think58 [资料来源:http://www.THINK58.com]

每一个连网的程序连网之前都会建立一个Socket连接。这时钩子程序就会起作用,把截获的底层服务进行“过滤”。及先调用自定义的函数再转给下层服务提供者函数。我就是在这一层实现封包过滤的。把规则与功能写到这一层。这一层的实现是本课题的核心。 copyright think58

[版权所有:http://think58.com]

1Winsock 2 SPI编程技术

Winsock 2是Windows Sockets的2.0版本,在此之前的版本是1.1。与1.1版本相比,2.0版本引入了一种新的叫做SPI的编程接口。利用这种技术可以在Socket中插入一曾层,从而可以完成诸如扩展TCP/IP协议栈,网络安全控制等功能,所以这是一个非常强大而且有用的接口,下面介绍这种编程技术。 copyright think58

[来源:http://www.think58.com]

1.1Winsock2 SPI基础

Winsock是为上层应用程序提供的一种标准网络接口,上层应用程序不用关心Winsock实现的细节,它为上层应用程序提供透明的服务。 [资料来源:THINK58.com]

Winsock 2 引入的一个新的功能就是打破服务提供者的透明,让开发者可以编写自己的服务提供者接口程序,即SPI程序。SPI以动态链接库的形式存在,它工作在应用层,为上层API调用接口函数。Winsock 2是一个接口,不是一个协议。作为接口,它只能发现和利用底层传输协议完成通信。

think58好,好think58 [版权所有:http://think58.com]

[资料来源:THINK58.com]

自己编写的SPI程序安装到系统之后,所有的Winsock请求都会发送到这个程序并由它完成网络调用。由于系统提供的SPI已经可以完成网络传输功能,所以自己编写的SPI没有必要重新编写这部分功能。一般可以直接调用系统函数完成网络传输,这样工作的效果就是“钩子程序。 think58好,好think58

[资料来源:http://THINK58.com]

Winsock 2 SPI除了有完成网络传输的传输服务提供者,还有提供友好名称服务的名字空间服务提供者。传输服务提供者能够提供建立通信、传输数据、流量控制和错误控制等服务。名字空间服务提供者把一个网络协议的地址属性和一个或多个用户友好名称关联起来,这样可以起用与协议无关的名字解析方案。

本文来自think58 [资料来源:http://think58.com]

[来源:http://www.think58.com]

1.2传输服务提供者

传输服务提供者又分为基础服务提供者和分层服务提供者。基础服务提供者和分层服务提供者都开放相同的SPI接口,所不同的是基础服务提供者位于提供者的最底层。所以编写基础服务提供者和分层服务提供者基本相同。但安装是却需要将基础服务提供者安装在服务提供者加载顺序链的最底端,而分层服务提供者则根据需要分布在顺序链的中间。

think58.com

[资料来源:http://think58.com]

[资料来源:THINK58.com]

2开发平台与开发工具

开发平台如题说明,以Windows平台为主,重点讨论开发工具的选择。 本文来自think58

[版权所有:http://think58.com]

根据不同的工程选择不同的开发工具,可以有效地提高工作效率。不同的开发工具各有各的优点同时又各有各的不足,在开发中要扬长避短。 think58.com

[资料来源:www.THINK58.com]

目前常用的Windows开发工具有VS 5.0/6.0、VS.net(包括VB、BC、VFP、VJ、C#等一组开发工具)、delphi、C++ Builder,JBuilder、PB等。 [来源:http://www.think58.com]

在这些开发工具里面,VFP和PB一般用来专门开发数据库系统,它们具有灵活的数据库接口。

[来源:http://think58.com]

VB和Delphi既可以方便地做出复杂的数据库管理系统,又能轻松地完成操作系统级的任务。最优秀的是很容易做出漂亮的界面。

内容来自think58

[资料来源:THINK58.com]

[版权所有:http://think58.com]

VC和Borland C++着重于系统编程,它们开放接口较多,也最为灵活,而且编译出的程序体积较小,所以比较适合做系统工具类软件。缺点是短时间不容易掌握。其中Borland 使用的VCL类库是为Delphi准备的,并不是真正用C++实现的。 内容来自think58 [资料来源:www.THINK58.com]

VJ、Jbuilder和Java语言主要面向互联网应用。最大的优势是跨平台。

[来源:http://think58.com]

本课题为防火墙软件,较多的使用系统接口,而且界面简单。另外,防火墙主要传播渠道是互联网,这就要求体积应尽量的小,安装尽量方便。所以选择VC为开发工具。 copyright think58 [资料来源:http://THINK58.com]