【问题标题】:Filter TCP Packets in C#在 C# 中过滤 TCP 数据包
【发布时间】:2010-09-23 21:53:12
【问题描述】:

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

【问题讨论】:

    标签: c# tcp


    【解决方案1】:

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

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

    -亚当

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2018-04-12
        • 2013-04-11
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        • 2019-07-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多