网络安全 频道

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

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

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

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

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

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

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

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

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

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

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

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

0
相关文章