如何运用包过滤技术实现个人防火墙

出处: 作者: 日期:2007年11月29日 11时05分

  三、驱动程序和应用程序间的通讯

  当驱动程序截获网络数据包后,驱动程序要和应用程序进行通讯,通知应用程序对数据包进行判断,如果符合过滤规则,则接受数据包,否则,则放弃该数据包,其步骤大致如下:

  (1)应用程序创建一事件Event;

  (2)应用程序通过CreateFile创建驱动程序实例;

  (3)把该事件的句柄传给驱动程序;

  (4)驱动程序通过DeviceControl函数接受Event的句柄;

  (5)应用程序通过DeviceIOControl函数传递控制驱动程序的消息;

  (6)驱动程序通过Dispatch历程得到应用程序传来的消息,然后根据消息类型进行不同的服务;

  (7)把结果数据放入共享内存区,设置Event事件通知应用程序所请求的事情已经办完;

  (8)应用程序通过WaitForSingleObject来获知事件发生;

  (9)应用程序在共享内存区获得数据,并重置该事件。

如何运用包过滤技术实现个人防火墙(图二)

图2  驱动程序与应用程序通讯模型

最后更新时间:2008-03-28 14:02:28
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
您可以用以下几种方式找到此文章

考试全流程