我需要开发一个透明的过滤器,以将外发出的HTTP数据包重定向到本地代理,以进行透明的内容过滤。

TDI或NDIS IM是哪种最好的技术?

我的主要约束是避免与防病毒软件发生冲突,该软件也可以进行某种数据包重定向来检查HTTP内容(我不知道防病毒程序是使用TDI,NDIS IM还是两者兼而有之)。

实际上,我还考虑两个用于数据包过滤/修改的商业SDK,而不是亲自编写驱动程序:一个使用TDI驱动程序,而另一个使用NDIS IM驱动程序,所以这是我问题的来源(我只知道NDIS IM,在看两个SDK之前)。

有帮助吗?

解决方案

NDIS IM可让您访问数据包。

如果您正在重定向到代理,则可能是在连接(TCP)级别进行此操作,在这种情况下,这将是NDIS IM级别的很多工作,因为您需要实现完整的TCP堆栈来处理检索,测序等。

因此,我将更多地研究TDI或WFP(取决于目标OS)。

我也知道最适合LSP的AV,这是Winsock过滤层。因此,TDI将远低于此,并且还捕获了不使用Windows插座用于TCP/IP的应用程序(例如Explorer,SMB客户端等)。

其他提示

我找到了这个软件来做到这一点。他的软件usae ndis im

http://www.softperfect.com/products/bandwidth/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top