端口轉發和端口映射的區別


不懂端口的小伙伴可以參考這篇文章——>輕松理解網絡端口是什么
端口轉發和端口映射都是為了解決內網主機的端口無法在外部直接訪問而衍生出來的技術,通過中間服務器進行中轉,將內部的端口映射到公網IP上或者將內部端口轉發到外部服務器,供用戶或者自己來使用,那么他們的區別是什么呢?

端口轉發定義

顧名思義,就是將端口進行轉發,具體哪個端口轉發到哪個端口要以應用場景為准,比如我們拿到一台內網服務器A的權限,通過掃描發現了同內網的另一台服務器B且開了80端口,我們該如何使用瀏覽器訪問它呢?我們畫一個圖如下:

從上圖中可以看到,我們已經與A建立了通道,我們可以在A上上傳任意文件,執行任意的系統命令,我們如何能夠訪問B的80端口?假設A是在公網上,有公網IP,我們可以訪問它的任意端口。

1、直接在A上執行curl命令訪問B的80端口(這種方式不方便我們測試B的80端口的漏洞,不方便利用)

2、在A上開啟一個 socks 5代理,我們使用瀏覽器設置好代理,將我們的瀏覽器代理到目標內網,然后訪問B的80端口。

3、在A上執行端口轉發,將B的80端口轉發到A的8080,然后我們直接用瀏覽器訪問A的8080端口即可,這個原理就是端口轉發。

總結一下,端口轉發就是將一個端口,這個端口可以本機的端口也可以是本機可以訪問到的任意主機的端口都可以轉發到任意一台可以訪問到的IP上,通常這個IP是公網IP,方便我們使用。

端口映射的定義

顧名思義,就是映射端口,就是將一個內網端口映射到公網上的某個端口,我們來看一個實例,我自己的電腦是在內網中,沒有公網IP,但是我想提供一個端口供其他人使用,怎么辦呢?我們來看一個圖:

A和B在不同的內網,各自有自己的內網IP,但是互相無法直接訪問,這時就需要一個中間服務器,要A和B都可以訪問然后作為中轉服務器,實現上面的目標,這個中間服務器需要有一個公網IP,如圖:

上圖的C就是有公網IP的中間服務器,我們可以將A的80端口映射到C的80端口,這時,B就可以訪問C的80端口,也就相當於訪問A的80端口了,這里其實核心原理也是端口轉發,只不過是將本機的端口轉發到遠程的某個端口。

- 總結
端口映射與端口轉發,用於發布防火牆內部的服務器或者防火牆內部的客戶端計算機,有的路由器也有端口映射與端口轉發功能。端口映射與端口轉發實現的功能類似,但又不完全一樣。端口映射是將外網的一個端口完全映射給內網一個地址的指定端口,而端口轉發是將發往外網的一個端口的通信完全轉發給內網一個地址的指定端口。端口映射可以實現外網到內網和內網到外網雙向的通信,而映射轉發只能實現外網到內網的單向通信

端口轉發的應用

1、環境准備
內網主機A:windows2003、192.168.2.129、開啟了3389端口
內網主機B:windows2003、192.168.2.132、開啟了3389端口
hacker主機
2、主機B執行lcx端口轉發命令

lcx.exe -slave 192.168.2.129 4444 127.0.0.1 3389
//把主機B的3389端口轉發到主機A的4444端口上

3、主機A執行lcx端口監聽命令

lcx.exe -listen 4444 5555
//主機A的4444端口監聽主機B的請求,並將來自4444端口的請求轉發到5555端口

4、hacker,mstsc鏈接主機A的5555端口

  • 可以發現成功鏈接到主機B的3389端口

端口轉發工具使用參考鏈接一
端口轉發工具使用參考鏈接二
端口轉發工具使用參考鏈接三
端口轉發工具下載

端口映射的應用

端口映射工具下載一:nat123
nat123使用參考
端口映射工具下載二:續斷

參考鏈接

https://cloud.tencent.com/developer/article/1387125


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM