摘 要
网络安全问题长期威胁着网络终端用户,需要有有效的安全工具解决这个问题,个人防火墙就是其中的一种常用的安全工具。为了实现个人防火墙软件,选用VC++ 6.0开发工具。软件系统主要包括两项工程,一是核心模块设计,即DLL工程,实现了封包截获、管制动作和协议封包的解析任务,主要利用Winsock 2 SPI技术实现网络封包截获,之后利用控管规则对过往封包进行合法性检查和过滤,方法是首先利用Winsock 2 SPI技术建立winsock钩子,用它来截获winsock的调用,然后作出相应动作处理,动作处理需通过控管规则的检查后,确定socket连接是否允许通过,其中控管规则由用户层设置;二是用户模块设计,即EXE工程,实现用户界面和负责与DLL模块的通信,提供了3个主要界面,即封包监视、控管规则、控管规则设置。最后通过测试和应用,基本解决了终端用户的网络连接安全问题。
关键词: 过滤;动态连接库;Winsock 2 SPI;网络封包;协议封包
目录
论文总页数:25页
1 引言 1
1.1 课题背景与意义 1
1.2 设计实现的主体功能 1
1.3 本课题的研究方法 1
2 WINSOCK 2 SPI编程技术 2
2.1 WINSOCK 2 SPI基础 2
2.2 传输服务提供者 2
3 开发平台与开发工具 2
4 系统设计与模块划分 3
4.1 本课题要实现的具体功能 3
4.2 程序工作流程图 3
4.3 模块划分 4
4.3.1 模块划分原则 4
4.3.2 模块结构 4
4.3.3 模块接口定义 5
4.4 控管规则文件结构设计 6
4.4.1 控管规则文件需要存储的内容 7
4.4.2 控管规则文件结构 8
4.5 界面设计 8
4.5.1 制定界面风格 8
4.5.2 界面设计文档 8
4.6 编码规则 12
5 核心功能的代码实现 12
5.1 DLL的封包截获 12
5.2 DLL的访问控管 16
5.2.1 对服务提供者函数做管制的函数 16
5.2.2 封包处理函数 17
5.2.3 管制函数 17
5.2.4 设置函数 20
6 测试 21
结 论 22
参考文献 22
致 谢 24
声 明 25