到C#的NDIS中间驱动程序接口

时间:2009-05-15 17:32:28

标签: c# networking driver ndis

我正在开发本质上是专门的防火墙应用程序。该解决方案需要32位和64位兼容。我的公司希望保留当前的程序界面,该界面是用C#编写的。

我需要的是:一种监视和操纵系统上所有网络流量的方法。我的研究让我相信NDIS(网络驱动程序接口规范)中级驱动程序是可行的方法。如果我能用C#编写这种驱动程序,那很好,但我不确定是否可行。至少,我需要在C#中使用任何语言编写的驱动程序。

我在网上发现了一个很棒的资源,用于在一系列题为“扩展Microsoft PassThru NDIS中间驱动程序”的文章中创建一个:

  1. Part 1 - Adding a DeviceIoControl Interface
  2. Part 2 - Two IP Address Blocking NDIS IM Drivers
  3. Part 3 - Supporting Windows XP 64-Bit Edition
  4. 但是,它已过时(2003年)。在我投资阅读和学习它所说的内容之前,我想确保自己不浪费时间。

    有更好的方法吗?是否有任何开源项目或文章比上述文章更好地解释了这个过程?我甚至在球场吗?请帮助。

1 个答案:

答案 0 :(得分:1)

还有来自同一作者的另一页,标题为Windows Network Data and Packet Filtering,其中提供了“可用于在Microsoft Windows平台上过滤网络数据和网络数据包的各种技术的简要介绍”。

它提到了其他选项,例如: “TDI flter驱动程序”和“用户模式网络数据过滤”,可能适合,取决于您是否想要操纵所有系统上的网络流量。