我正在尝试访问NAT后面的Web服务器。挑战在于:因为可能有多个Web服务器共存,基于端口的路由器注册在这里不是一个可行的解决方案。
我道歉这看起来更像是一般性的问题,因为我真的不知道从哪里开始阅读与NAT遍历相关的在线资源,选择哪种技术:代理,隧道,WebRTC,ICE?
我用libnice做了一点实验。它将输出一个看起来像候选列表的字符串,可以将其发送到远程对等端以使其连接。但是如何将字符串嵌入到Http URL中并不明显。
非常感谢您的帮助。感谢。
答案 0 :(得分:1)
您可以在NAT防火墙后面运行多个Web服务器,方法是将不同的端口转发到每个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
答案 1 :(得分:0)
您可以使用ngrok通过NAT创建隧道 https://ngrok.com/download
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
这将创建从您的计算机访问nat以外的计算机的隧道。 这样的东西
Web Interface http://127.0.0.1:4040
Forwarding http://f44affd3.ngrok.io -> http://localhost:80
Forwarding https://f44affd3.ngrok.io -> http://localhost:80
现在,您可以将此https://f44affd3.ngrok.io地址用于反向Shell。 您可以使用http的tcp插入,甚至可以指定80插入的端口,也可以使用其他端口