Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webrtc 有没有办法访问NAT背后的Web站点?_Webrtc_Nat_Stun_Turn - Fatal编程技术网

Webrtc 有没有办法访问NAT背后的Web站点?

Webrtc 有没有办法访问NAT背后的Web站点?,webrtc,nat,stun,turn,Webrtc,Nat,Stun,Turn,我正在尝试访问NAT后面的web服务器。挑战在于:由于可能有多个web服务器共存,因此基于端口的路由器注册在这里不是一个可行的解决方案 很抱歉,这看起来更像是一般性的问题,因为在阅读了与NAT遍历相关的在线资源之后,我真的不知道从哪里开始,应该选择哪种技术:代理、隧道、WebRTC、ICE 我用libnice做了一点实验。它将输出一个看起来像候选列表的字符串,该字符串可以发送到远程对等方,让它连接进来。但是如何将字符串嵌入到Http URL中看起来并不明显 非常感谢你的帮助。谢谢。通过向每个we

我正在尝试访问NAT后面的web服务器。挑战在于:由于可能有多个web服务器共存,因此基于端口的路由器注册在这里不是一个可行的解决方案

很抱歉,这看起来更像是一般性的问题,因为在阅读了与NAT遍历相关的在线资源之后,我真的不知道从哪里开始,应该选择哪种技术:代理、隧道、WebRTC、ICE

我用libnice做了一点实验。它将输出一个看起来像候选列表的字符串,该字符串可以发送到远程对等方,让它连接进来。但是如何将字符串嵌入到Http URL中看起来并不明显


非常感谢你的帮助。谢谢。

通过向每个web服务器转发不同的端口,您可以在NAT防火墙后面运行多个web服务器

例如:

yourip:8080 ->port forward-> web server 0 running on 192.168.1.10
yourip:8081 ->port forward-> web server 1 running on 192.168.1.11
yourip:8082 ->port forward-> web server 2 running on 192.168.1.12

您可以使用ngrok创建穿越NAT的隧道

现在您可以将此地址用于反向shell。
您可以使用tcp代替http,或者您甚至可以指定端口也代替80您也可以使用其他端口

谢谢您的回答。虽然您的解决方案可以工作,但我担心它可能涉及每个实例的非平凡配置和管理任务。我忘了提到这是一个动态的情况:web服务器可以随时启动和关闭。这是一个奇怪的例子:在我的应用程序中,我们设置web服务器只是为了发送/接收数据。在这种情况下,我不确定我是否理解您的问题。如果您的局域网上运行着多个web服务器(比如192.168.1.10、192.168.1.11、192.168.1.12等),所有这些服务器都在一个NAT路由器后面,只有一个公共IP,那么您如何设想局域网外的用户指示他们要访问哪些web服务器?您是在暗示ICE(包括晕眩或转向)不支持在同一端口侦听的多个程序(每个程序位于不同的计算机上)?我想每个程序都会打一个不同的洞。不太确定,但我可以用libnice做一些简单的测试。我想你可能是对的。这涉及到TCP NAT遍历和穿孔的主题。
1. unzip /path/to/ngrok.zip
2../ngrok authtoken <YOUR_AUTH_TOKEN>
 You get authtoken when you create account on ngrok
3../ngrok http 80
    Web Interface                 http://127.0.0.1:4040                             
    Forwarding                    http://f44affd3.ngrok.io -> http://localhost:80   
    Forwarding                    https://f44affd3.ngrok.io -> http://localhost:80