gpt4 book ai didi

java - 使用第三方建立连接绕过防火墙

转载 作者:行者123 更新时间:2023-12-01 19:17:58 26 4
gpt4 key购买 nike

我正在开发一个程序,该程序需要能够 Eloquent 地处理防火墙,同时允许两个客户端之间直接通信。

我正在考虑类似于 Skype 的东西,其中第三方用于在两个用户之间建立连接,但一旦建立连接,任何实际数据都不会发送到第三方。

据我了解,几乎所有防火墙都会阻止所有未经请求的传入流量,但只要内部程序首先进行通信,就很容易让程序建立连接。我不明白的是如何在两个客户端之间直接建立连接。

我怎样才能实现这样的事情?这种技术有什么合适的术语吗?一个客户端必须用 Java 编写,但服务器和其他客户端几乎可以使用我想要的任何语言。

如果这个问题已经被问过,我提前道歉,我尝试四处寻找,但我觉得我可能没有使用正确的关键字来找到它。

最佳答案

我认为您正在寻找的术语是“NAT traversal ”。它与防火墙无关,更多的是克服到达 NAT 设备另一(专用)端的特定节点的困难(例如电缆调制解调器,其中 LAN 端通常被分配一些不可路由的地址范围,例如 192.168.*.*)

可能对您有用的一种技术是 UDP hole punching 。每个端点都可以建立到第三方服务器的传出连接,每个端点的 NAT 设备将打开端口以允许返回流量通过防火墙并将其路由到每侧相应的 LAN 节点。端点通过第三方服务器交换端口信息,然后重新使用它们刚刚通过 NAT 设备“打通”的“漏洞”,从这一点开始直接相互通信。

关于java - 使用第三方建立连接绕过防火墙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5725899/

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