端口是什(shén)麽,我們在之前的文章裏已經做了(le)解釋,請看《輕松理(lǐ)解網絡端口是什(shén)麽》,端口轉發和端口映射都是為(wèi)了(le)解決内網主機的端口無法在外部直接訪問而衍生(shēng)出來(lái)的技術,通過中間(jiān)服務(wù)器(qì)進行中轉,将内部的端口映射到公網 IP 上(shàng)或者将内部端口轉發到外部服務(wù)器(qì),供用戶或者自己來(lái)使用,那麽他們的區别是什(shén)麽呢(ne)?
顧名思義,就(jiù)是将端口進行轉發,具體(tǐ)哪個(gè)端口轉發到哪個(gè)端口要以應用場(chǎng)景為(wèi)準,比如(rú)我們拿到一(yī)台内外服務(wù)器(qì) A 的權限,通過掃描發現(xiàn)了(le)同内網的另一(yī)台服務(wù)器(qì) B 且開了(le) 80 端口,我們該如(rú)何使用浏覽器(qì)訪問它呢(ne)?我們畫一(yī)個(gè)圖如(rú)下(xià):
從上(shàng)圖中可以看到,我們已經與 A 建立了(le)通道,我們可以在 A 上(shàng)上(shàng)傳任意文件,執行任意的系統命令,我們如(rú)何能(néng)夠訪問 B 的 80 端口?假設 A 是在公網上(shàng),有公網 IP,我們可以訪問它的任意端口。
1、直接在 A 上(shàng)執行 curl 命令訪問 B 的 80 端口(這(zhè)種方式不方便我們測試 B 的 80 端口的漏洞,不方便利用)
2、在 A 上(shàng)開啓一(yī)個(gè) socks 5 代理(lǐ),我們使用浏覽器(qì)設置好(hǎo)(hǎo)代理(lǐ),将我們的浏覽器(qì)代理(lǐ)到目标内網,然後訪問 B 的 80 端口。
3、在 A 上(shàng)執行端口轉發,将 B 的 80 端口轉發到 A 的 8080,然後我們直接用浏覽器(qì)訪問 A 的 8080 端口即可,這(zhè)個(gè)原理(lǐ)就(jiù)是端口轉發
總結一(yī)下(xià),端口轉發就(jiù)是将一(yī)個(gè)端口,這(zhè)個(gè)端口可以本機的端口也(yě)可以是本機可以訪問到的任意主機的端口都可以轉發到任意一(yī)台可以訪問到的 IP 上(shàng),通常這(zhè)個(gè) IP 是公網 IP,方便我們使用。
顧名思義,就(jiù)是映射端口,就(jiù)是将一(yī)個(gè)内網端口映射到公網上(shàng)的某個(gè)端口,我們來(lái)看一(yī)個(gè)實例,我自己的電腦是在内網中,沒有公網 IP,但(dàn)是我想提供一(yī)個(gè)端口供其他人(rén)使用,怎麽辦呢(ne)?我們來(lái)看一(yī)個(gè)圖:
A 和 B 在不同的内網,各自有自己的内網 IP ,但(dàn)是互相無法直接訪問,這(zhè)時(shí)就(jiù)需要一(yī)個(gè)中間(jiān)服務(wù)器(qì),要 A 和 B 都可以訪問然後作(zuò)為(wèi)中轉服務(wù)器(qì),實現(xiàn)上(shàng)面的目标,這(zhè)個(gè)中間(jiān)服務(wù)器(qì)需要有一(yī)個(gè)公網 IP,如(rú)圖:
上(shàng)圖的 C 就(jiù)是有公網 IP 的中間(jiān)服務(wù)器(qì),我們可以将 A 的 80 端口映射到 C 的 80 端口,這(zhè)時(shí),B 就(jiù)可以訪問 C 的 80 端口,也(yě)就(jiù)相當于訪問 A 的 80 端口了(le),這(zhè)裏其實核心原理(lǐ)也(yě)是端口轉發,隻不過是将本機的端口轉發到遠(yuǎn)程的某個(gè)端口。
端口轉發和端口映射的核心原理(lǐ)是一(yī)樣的,隻不過是使用的場(chǎng)景不一(yī)樣,我們将本機的端口轉發到遠(yuǎn)程某個(gè)端口,我們可以叫端口映射,也(yě)可以叫端口轉發;我們如(rú)果把本機可以訪問到的任意 IP 的端口轉發到另外一(yī)台服務(wù)器(qì)的端口,我們叫他端口轉發。說(shuō)起來(lái)有點繞,其實具體(tǐ)如(rú)何理(lǐ)解,什(shén)麽樣的叫法,最終是要在實際的場(chǎng)景中使用的,能(néng)夠解決你的問題就(jiù)可以了(le),也(yě)不用糾結到底叫什(shén)麽。
Copyright © 2013-2016 WWW.VZIDC.COM . All Rights Reserved. 微子(zǐ)網絡 版權所有 江蘇微子(zǐ)網絡科技有限公司