【问题标题】:Layered Service Provider in C#C# 中的分层服务提供程序
【发布时间】:2011-08-07 02:54:12
【问题描述】:

我正在寻找用 C# 编写一个 LSP 来捕获和重定向 UDP 数据包..

我对 LSP 的经验很少,但我听说他们可以做这种事情,如果我错了,请纠正我,但这可能吗?

我会喜欢一些示例代码,但我会接受任何人可以就该主题提供的任何信息或建议。 :)

【问题讨论】:

    标签: c# windows networking packet-capture winsock-lsp


    【解决方案1】:

    您可以在https://github.com/SOLON7/HTTPSniffer 查看 LSP 的代码 (c#) 示例。 它用于 32 Windows 操作系统,但您可以轻松地将其移植到 64(在安装过程中设置 LspCatalog64Only)

    您应该记住,如果与其他 LSP 提供商发生冲突,您必须为您的提供商生成新的 GUID。

    【讨论】:

    【解决方案2】:

    看看komodia 有一篇关于 LSP 的文章 + 示例,不幸的是在 C++ 中。

    但应该不是不可能转换的。

    【讨论】:

      【解决方案3】:

      您需要为此构建一个 LSP,然后通过 P/Invoke 访问它。看看 WS SPI 规范: ftp://ftp.microsoft.com/bussys/Winsock/Winsock2/WSSPI22.DOC

      【讨论】:

        【解决方案4】:

        你确定要自己写吗?

        WinPCap 在捕获数据包方面做得非常出色。 SharpPcap 在让您使用 C# 中的 WinPCap 方面做得同样出色。两者都是免费的,而且我认为是开源的。

        (我不确定 WinPCap 是否在后台使用 LSP,但最终结果是您可以检查数据包,因此可能正是您想要的)

        【讨论】:

        • 我需要拦截/重定向数据包。这可能吗?
        • @Tommy no, it isn't。我应该更加关注您的“重定向”要求......
        猜你喜欢
        • 2018-01-20
        • 1970-01-01
        • 2016-04-04
        • 1970-01-01
        • 1970-01-01
        • 2015-05-03
        • 2018-09-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多