我正在编写一个应用程序,其中所有对互联网的请求都应该像防火墙一样。这样我就可以阻止对特定网站的请求。在我的情况下,程序将在同一台机器上运行。我尝试过promiscous方法但是使用它我们只能捕获所有来自机器的数据包,
答案 0 :(得分:3)
最简单的方法是编写Layered Service Provider (LSP)。 Microsoft SDK中还有一个关于开发LSP的示例。不像驱动程序类型的防火墙设置那么安全,但更容易实现。
有可能用C#做到这一点,但我从未尝试过。要研究的东西。如果没有,那么只需用C / C ++创建一个实现LSP的本机DLL,然后让它与你的应用程序通信。
答案 1 :(得分:1)
您必须在TCP / IP堆栈中插入代码,如果我理解正确,则需要Windows驱动程序。
C#无法编译本机Windows驱动程序,因此您需要使用库或DLL来实现至少部分功能。使用C ++寻找解决方案。
- 亚当