gpt4 book ai didi

c# - 将 UDP 封装在 TCP 协议(protocol)中

转载 作者:可可西里 更新时间:2023-11-01 02:41:48 26 4
gpt4 key购买 nike

我不太确定从哪里开始所有这些,但我假设我需要某种网络驱动程序来捕获所有 UDP 流量。 (请告诉我哪一个是最好的记录和工作)

我在 C# 中成功捕获 UDP 数据包后,我将通过 TCP 连接将它们发送到我的服务器,在该服务器上我需要将 UDP 发送到目的地,然后将响应发送回客户端机器(正在捕获数据包),然后将响应发送给程序,就好像它是直接来自相关服务器一样。

所以基本上我的连接如下:

Client running UDP program <<==TCP connection==>> Conversion Server <<==UDP connection==>> UDP Server 

我需要帮助的地方:

  • 从程序中捕获 UDP 数据包(使用网络驱动程序)
  • 将从服务器获得的响应发送回程序(使用相同的网络驱动程序????)

编辑#1

好吧,让我澄清一下。我的电脑上有一个程序,我无法控制。我没有它的来源,没有办法修改来源,我不能使用注入(inject)技术来告诉它做一些不同的事情。当然,它使用 UDP 连接服务器,我需要它才能工作。

现在,我需要让该程序运行,但我在一个安全网络后面,该网络不允许 UDP 流量(不要问)。我需要创建一个网络驱动程序来捕获我计算机上所有程序生成的所有 UDP 流量,将其发送到专用服务器(我会在其中编写一个服务器守护程序来将 TCP 转换为 UDP 并将其发送到原始目的地)。

最佳答案

您需要编写一个 LSP(分层服务提供程序)并安装它。在实现 LSP 时,您的代码将获取从 UDP 端口接收到的实际数据包,然后将其发送到 TCP 服务器,后者将进行一些修改。完成后,您可以将修改后的数据包从 LSP 代码而不是实际的数据包发送到应用程序。你可以找到一些细节 here .

资源:

关于c# - 将 UDP 封装在 TCP 协议(protocol)中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5679375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com