首页 > 解决方案 > 将 UDP 数据包转发到外部网络

问题描述

我可以在我的计算机上识别出从 Wireshark 传入的 UDP 数据流。我想将此数据转发到不同的网络(例如,从纽约到洛杉矶)。最快的方法(就延迟而言)是什么?

在阅读端口转发和 UPnP 之后,我还没有任何工作。我已经设法获得了一个可以通过本地网络传输数据的 golang 程序,但这需要到外部网络。

我认为最好的方法是通过https://www.whatismyip.com/获取我的 IP ,然后允许客户端连接到它。从那里,传输这些 UDP 数据包。我应该在这里使用特定的语言/术语来实现这一点吗?

我希望能够让它在应用程序中运行,但即使是命令行也可以。唯一的限制是它必须通过 Windows,所以我不能使用像 iptables 这样的东西。


这些数据包以 60 个数据包/秒的速率传入。netcat 能够转发所有这些数据吗?

编辑:与5 年前向另一个网络中的节点发送 UDP 数据包相关,但问题没有得到解决

标签: windowsnetworkingudpportportforwarding

解决方案


你的问题不是很清楚。您是什么意思“将这些数据转发到不同的网络”?源节点和目的节点是在路由器后面还是有公网IP地址会影响如何实现。

让我们考虑一下两个节点都在路由器后面的情况,这意味着 NAT 工作并转换它们的 IP。在此示例中,您需要执行以下操作。

  1. 如果要向其发送消息,则必须知道目标节点的公共 IP 地址

  2. 目标节点中的端口映射,以便它可以接收消息,这就是 Upnp 和 NAT-PMP 工作的地方。

  3. 如果你想让它变得简单,你可以使用 ICE,但这需要一个中央服务器作为中继。


推荐阅读