來自 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 中的庫進行連接,其工作原理相同)

相關內容