Windows Filtering Platform 结构和简介

这两天一直在写一个用tdi实现的tcp Redirector ,说白了就是一个tcp连接的重定向器,本来已经写的差不多了,前两天在 google上搜索tdi的关键字时一不小心连接到在线msdn上,却看见一个噩耗,Windows vista已经不再支持tdi驱动,替代的方案是Windows Filtering Platform和Winsock Kernel。

          缓过神来心想,反正tdi驱动已经写完了,XP也不至于那么不济连个一年半载支撑不了吧(我一个同学还在用Windows 2000呢,他在外企,版权管的比较严)。既然写完了,就整理一下交了差,然后花点时间研究下vista中的替代方案Windows Filtering Platform

         下面这张图是Windows Filtering Platform的结构图:

         按照微软的说法,图中Filter Engine是 Windows Filter Platform的核心。它来执行网络数据的过滤操作,它处于网络堆栈的过滤层(filter layer)。而真正值得 我们关注的是图中的"Callout",Windows中有内置的"Callout”,而第三方也可以开 发"Callout Driver","Callout Driver“向Filter Engine注册一个"Callout",并标明这 个"Callout"感兴趣的数据类型,那么Filter Engine收到这一类的数据时就会传给对应的"Callout”处理。
     
        我看了一下Windows vista中内置的callout,太多了就不在这里列举了,给个链接吧:http://msdn2.microsoft.com/en-us/library/aa504917.aspx 
        
       "Callout Driver"有如下的用途:
      1.深度检查:对网络数据做复杂的检查,比如杀毒软件可以用它扫描病毒特征码。
      2.修改网络消息包,比如可以修改IP包的包头。
      3.修改网络流数据:比如保护少年儿童上网的产品可以过滤网络数据流中的成人内容。
      4.数据日志:记录网络交互的数据到日志中去。

你可能感兴趣的:(Windows Filtering Platform 结构和简介)