對於埠隱射,我們並不陌生,因為在很多場合,我們都會使用到它,比如:交換機、比如路由器、比如內網轉外網等
但如果用程式設計者的角度來解釋的話,可能大多數人會有點暈,到底該如何實現這樣的功能呢?
下面我根據自己的理解站在 遠端控制類軟體 的角度來解釋一下普通資料**的埠對映:
大致的原理如下:
假設b處於內網且為服務端所在機器,a處於外網,且為控制端所在機器,a想訪問b的3389埠,正常訪問是無法訪問的.但此時我們開啟埠對映功能,則大致流程如下:
1、對於a端來說,先監聽乙個對映到本機的埠,然後當使用mstsc.exe 連線到這個埠的時候,a就與之建立了乙個socket連線,改socket命令為s1,之後mstsc.exe通過s1傳送來的所有資料都會被a上的遠端控制端接受,並通過與b建立的遠端連線通道將資料傳送到b。
2、對於b端來說,遠端控制軟體服務端程式先和3389埠建立socket連線,該連線命名為s2,通過接受與a建立的遠端連線通道獲取a傳送來的埠對映資料,之後再通過s2通道傳送到3389埠。
至此,埠對映完成,其實遠端控制軟體在此扮演的是乙個資料中轉的角色.
UPnP 埠對映原理
三.miniupnp 參考實現 upnp 條件 簡單來理解的話,upnp 是一種裝置間通訊協議,功能是建立裝置和 nat 閘道器的埠對映,目的是希望接入 internet 的任意兩個裝置在 lan 下可以相互通訊。裝置加入網路時,通過簡單服務發現協議 ssdp 尋找網路上可用裝置。internet ...
網路埠對映的原理
有容器內外的埠對映,是怎麼做到的呢?這是要起乙個新的網路的 吧 啟動了docker之後,在docker上面還是有確實是有iptables的項,但是此時應該是有兩個網路的 吧,使用ip netns list是沒有看到的,也就是說其實是在乙個網路的 中的網路埠的對映 chain postrouting ...
埠對映 配置ssh埠對映
此手段用於在單向連通網路中進行雙向網路打穿 適用於未配埠對映的docker容器,不能反向訪問的受限網路等 在封閉網路內伺服器 容器執行以下命令,結果可以使目標伺服器通過訪問封閉網路內伺服器 容器的 ssh fgn r localhost root p 在目標伺服器執行以下命令,結果可以使目標伺服器通...