C#中的分层服务提供者

| 我正在寻找用C#编写LSP来捕获和重定向UDP数据包的方法。 我对LSP的经验很少,但是我听说他们可以做这种事情,如果我错了,请纠正我,但是这可能吗? 我喜欢一些示例代码,但是我会接受任何人可以就该主题提供的任何信息或建议。 :)     
已邀请:
您可以在https://github.com/SOLON7/HTTPSniffer上查看LSP的代码示例(c#)。 它用于32 Windows操作系统,但是您可以轻松地将其移植到64(在安装过程中设置LspCatalog64Only) 您应该记住,在与另一个LSP提供程序发生冲突的情况下,必须为您的提供程序生成新的GUID。     
不幸的是在C ++中,有一篇关于LSP的文章+示例。 但是转换它应该不是不可能的。     
您需要为此建立一个LSP,然后通过P / Invoke访问它。看一下WS SPI规范: ftp://ftp.microsoft.com/bussys/Winsock/Winsock2/WSSPI22.DOC     
您肯定要写自己的吗? WinPCap在捕获数据包方面做得非常出色。 SharpPcap在让您使用C#中的WinPCap方面同样出色。两者都是免费的,而且我认为是开源的。 (我不确定WinPCap是否在后台使用LSP,但是最终结果是您可以检查数据包,所以可能就是您想要的东西)     

要回复问题请先登录注册