windows的个人防火墙设计与实现(附件)

摘要:在互联网如此盛行的电子信息时代,网络安全已经成为一个非常重要的问题。防火墙作为一种有效的安全工具在网络中得到了广泛的应用。文章分析了个人防火墙在发展演变过程中的基本功能,讨论了采用原始套接字进行网络数据包捕获的方法,设计并实现了一个简易的、基于windows系统的个人防火墙软件。该软件能够依据IP地址、协议端口等参数完成网络数据包的截获、分析及过滤,并将结果以用户友好的方式显示出来。对防火墙软件进行的测试结果表明软件性能良好。
目录
摘要 1
关键词 1
Abstract 1
Key words 1
1. 绪论 1
1.1 课题研究背景和意义 1
1.2国内外研究状况 2
2. 防火墙基础 2
2.1 基本功能 2
2.2 防火墙分类 3
3. 系统需求分析 5
3.1 需要完成的功能 5
3.2 网络数据包处理 5
3.3 安全规则设置 5
3.4 功能设计的目标 5
4. 系统设计 6
4.1 各个模块下的主要功能 6
4.2 虚拟驱动设备模块 7
4.3 数据包过滤模块 8
4.4 安全规则 8
4.5 网络访问监控窗口 8
5. 系统实现 9
5.1 主控模块 9
5.2主程序设计 9
5.3 CCapPackView类的设计 10
5.4 主程序与网络监控窗口的接口连接的设计 11
5.5网络数据包抓包 11
5.6关键技术实现 12
5.6.1 定义规则 12
5.6.2 解析规则 13
5.6.3 raw socket的实现方法 13
5.6.4 抓包分析 13
6. 本地测试与运行 14
6.1 在程序
 *好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2# 
调试阶段遇到的问题 14
6.2 问题及难点所在 14
6.3 运行结果与分析(测试) 14
7. 总结和展望 16
致谢 16
参考文献 17
基于Windows的个人防火墙设计与实现
引言
1. 绪论
1.1 课题研究背景和意义
随着网络通信及互联网的高速发展,人们在信息爆炸的时代中,享受着互联网带给他们的便捷,却没有意识到一个更加可怕的事情的出现,那就是网络安全受到了威胁。当你在网上浏览资料的时候,当你在网上购物的时候,当你要将重要文件转发的时候,背后的威胁将你的信息轻而易举的就能提取出来,你的信息遭到了别人的侵犯,这个问题只是网络安全问题中的一小部分。人们通过互联网来进行交流联系、信息传递,但是总有一些人,想要从中谋利,截获别人的信息,破坏别人的系统,甚至黑掉整个网络,让系统瘫痪。
在这几十年来,全球的黑客活动越来越频繁,对人们造成了巨大的危害。互联网上有将近四分之一以上的用户被黑客入侵过,更加让人们恐惧的是,互联网上的黑客们,开始联合起来,越来越多的黑客网站的出现,黑客技术还有黑客工具更加容易得到,也让一些不法分子学习了黑客技术,去危害社会。让本来就不安全的互联网更加脆弱。正因为如此,我们就要使用相适应的防黑工具来保护我们的个人计算机,以此来免受病毒及黑客的攻击[1]。
防火墙是一个系统,它在网络与个人计算机之间起到一个控制访问。将具有安全威胁的信息阻挡在个人计算机之外。实现这种功能的方法有很多,但总的来说防火墙的就是阻止具有威胁的数据通过[2] 。
1.2国内外研究状况
在互联网发展的过程中防火墙的想法也越来越成熟,从1980年到现在,防火墙的发展迅猛,从第一代防火墙用的是包过滤技术,是在路由器上依附的包过滤功能实现数据包的阻挡,到现在逐渐成为一个具有独立结构的,具有专门功能的软件设备。
从第一代过滤型防火墙到第二代电路层防火墙再到第三代应用层防火墙,状态监视技术,自适应代理技术,防火墙的功能和能力都得到了极大的发展。
基于路由器的防火墙也就是第一代防火墙,通过路由器本身自带具有分组过滤功能,让网络访问控制变得可控。
第二代防火墙用户化的防火墙是把路由器里面的过滤功能提取出来,在加上警告和审计的功能,研究用户需求实现模块化的纯软件产品。
第三代防火墙,是在操作系统上建立的防火墙,具有分组过滤,代理功能。
现在全球主流的操作系统是Windows,这也是为什么很多防火墙都是基于Windows开发的,国内有好多基于Windows的防火墙,比如360安全卫士,金山毒霸,就是在Windows下开发的,而国外家喻户晓的防火墙如Norton Personal Firewall,区别就是网络数据包的拦截技术他们各不相同。根据防火墙所使用的数据包拦截技术的不同, 个人防火墙可分为基于SPI、TDI和NDIS三种。而且绝大多数的防火墙都采用了两种或两种技术来拦截网络数据包。比如,著名的费尔个人防火墙采用的数据包拦截技术就是采用了SPI技术和NDIS技术[3]。
基于SPI 的个人防火墙:是用SPI,可以获得调用Winsock进程的所有信息,可以对每个连接信息进行检测从而判断是否过滤数据包的防火墙,SPI是比较上层的网络封包技术所以很容易被比其低层的技术所绕过(如TDI、NDIS等),并且应用他是工作在应用层的,所以它做不了解析网络封包的功能 [3]。
基于 TDI 的个人防火墙:设定协议驱动,协议驱动所提供的接口,可以让应用程序在收发数据包的时候进行数据交换。在协议驱动与应用程序交互的时候,一般都是事先定义好接口来和应用程序对接,然后再开发一个过滤器来截获应用程序与接口之间的相互通信的数据包,在出现网络数据交换的时候追踪进程,给用户一个提示,以此来判断计算机是否安装了一些恶意软件。
基于NDIS 钩子驱动的个人防火墙: NDIS可以帮助网络驱动程序维护状态信息和参数,包括联接或其它系统中涉及的参数,指针[4]。
2. 防火墙基础
2.1 基本功能
防火墙就是在互联网和个人计算机之间的一道墙,它可以阻挡外部对内部的攻击,免受安全威胁,可以允许安全的、授权的信息进入防火墙;也可以阻挡内部对外部的信息传输,以此来保护计算机的安全[5]。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/676.html

好棒文