1

我正在编写一个应用程序,所有对互联网的请求都应该像防火墙一样从它发出。这样我就可以阻止对特定网站的请求。在我的情况下,程序将在同一台机器上运行。我尝试过混杂方法,但使用它我们只能捕获所有进出机器的数据包,

4

2 回答 2

3

最简单的方法可能是编写Layered Service Provider (LSP)。Microsoft SDK 中也有一个关于开发 LSP 的示例。不如驱动型防火墙设置安全,但更容易实现。

“可能”有一种方法可以用 C# 做到这一点,但我从未尝试过。有什么要调查的。如果不是,那么只需使用实现 LSP 的 C/C++ 创建一个本机 DLL,然后让它与您的应用程序通信。

于 2008-11-25T08:35:22.260 回答
1

您必须将代码插入 TCP/IP 堆栈中,如果我理解正确,这需要 Windows 驱动程序。

C# 无法编译本地 Windows 驱动程序,因此您需要使用库或 DLL 来实现至少部分功能。寻找使用 C++ 的解决方案。

-亚当

于 2008-11-25T07:04:48.090 回答