论文部分内容阅读
本文主要叙述了基于Windows2000平台下的个人防火墙系统的设计及具体实现。通过参考目前市场上多种个人防火墙的设计方案,并且分析比较各个设计方案的优缺点,结合目前个人防火墙技术的发展趋势,提出一种基于内核态和用户态双重过滤的设计方案:在内核态采用NDIS HOOK技术开发NDIS网络驱动程序实现对通过网络的原始数据封包截获,并且通过访问控管规则完成对数据封包的过滤;在应用态采用WinSock2 SPI技术开发动态链接库(DLL)程序实现了对基于Socket网络连接通信的服务截获和过滤,从而克服了单方面从用户态或核心态截获数据包的缺点,极大提高了系统的安全性能。 系统在开发实现过程中采用模块化、结构化的软件设计思想,提高了系统的可移植性及灵活性。从总体上可以划分为以下三个模块:核心层的NDIS网络驱动程序、应用层的动态链接库程序以及用户应用程序,这三个模块之间通过内存共享技术完成对控管规则、封装数据、网上邻居名字列表等数据的读写操作,从而很方便的根据控管规则实现了对网络封包的认证操作,提高了系统的过滤效率。鉴于目前防火墙技术的发展趋势,本系统具有广泛的实用价值和商业价值,因此具有一定的推广前景。软件的开发基于Windows 2000操作系统,开发语言采用Visual C++6.0和Win2000DDK。