来自 NAT 后面的 netcat

来自 NAT 后面的 netcat

我有一个连接到互联网的设备,但它位于 NAT 之后,这意味着我无法从网络外部直接通过 ssh 访问它。我已经发现反向 SSH 隧道可以绕过这个问题。

现在我想在此设备上运行 netcat 服务器进程,以便再次从网络外部访问。我该怎么做呢?

答案1

我自己设法解决了这个问题。看来ssh隧道基本上就是端口转发。我在 NAT 后面的服务器上运行以下代码

ssh -N -R 4321:localhost:1234 user@client &

client:4321这将设置将流量路由至 的隧道server:1234,并&在后台运行它。仍在服务器上,然后我运行:

ncat -lk -c "python myscript.py" localhost 1234 &

这会启动 netcat 进程运行myscript.py。现在我可以通过 netcat 从客户端连接到服务器

nc localhost 4321

ncat(我的客户端上没有,但nc也能工作。我的实际用例是使用socketpython 中的库进行连接,其工作原理相同)

相关内容