现在的位置: 首页 > 综合 > 正文

使用WinDDK开发个人防火墙

2018年02月20日 ⁄ 综合 ⁄ 共 605字 ⁄ 字号 评论关闭

这学期选修的实验课程计算机安全实验中,有一个实验是使用WinDDK开发个人防火墙。最近终于有时间写了,一上手还是很吃力的。在小红、飞仔和涛哥的帮助下,我算是入了门。

先整理一下开发思路:

WinDDK是一个驱动层面上的开发套件,方便程序员进行驱动开发。本次开发使用的是WinDDK 6001.17051,开发环境WinXPSP3虚拟机 + vc6.0。使用的模版是\network\ndis\passthru中的样例。

防火墙的开发可以分为三个部分:1、驱动层;2、中间层;3、用户层。因为时间能力有限,这次主要学习了一下如何修改2和3两个部分。用户层主要是设计界面,实现人机交互——用户设置规则。然后通过write2ndis将“规则”——一串字符编码交给驱动层,驱动层再调用中间层的相关函数。中间层主要是接受驱动层传来的数据——编码的规则,然后进行解码,存入自定义的数据结构,并维护规则队列。在协议分析函数中,针对不同的协议,查询规则队列,对协议进行过滤。这样就完成了简单的个人防火墙设计。

数据流:用户点击界面---->相应button事件---->编码规则---->传递给驱动层---->驱动调用功能函数---->中间层收到规则后,维护规则队列---->中间层的协议分析函数根据规则队列对协议进行过滤


测试数据流:用户设置规则--->测试场景呈现--->调试工具显示过滤结果


具体报告等整体完成了补上。开始写规则队列维护。

抱歉!评论已关闭.