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