用于数据包重定向到本地代理的NDIS或TDI

时间:2010-05-06 22:53:34

标签: driver packet-capture ndis

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

哪种技术最好,TDI或NDIS IM?

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

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

2 个答案:

答案 0 :(得分:1)

NDIS IM可让您访问数据包。

如果您要重定向到代理,您可能正在连接(TCP)级别执行此操作,在这种情况下,这将是NDIS IM级别的大量工作,因为您需要实现完整的TCP堆栈处理重试,排序等。

所以我会更多地关注TDI或WFP(取决于目标操作系统)。

大多数AV我也知道使用LSP,这是一个winsock过滤层。所以TDI将远低于此,并且还捕获不使用Windows套接字用于TCP / IP的应用程序(例如资源管理器,SMB客户端等)。

答案 1 :(得分:0)

我发现这个软件可以做到这一点。他的软件使用NDIS IM

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