关于普通端口映射的原理
對(duì)于端口隱射,我們并不陌生,因?yàn)樵诤芏鄨?chǎng)合,我們都會(huì)使用到它,比如:交換機(jī)、比如路由器、比如內(nèi)網(wǎng)轉(zhuǎn)外網(wǎng)等
但如果用編程者的角度來解釋的話,可能大多數(shù)人會(huì)有點(diǎn)暈,到底該如何實(shí)現(xiàn)這樣的功能呢?
下面我根據(jù)自己的理解站在 遠(yuǎn)程控制類軟件 的角度來解釋一下普通數(shù)據(jù)轉(zhuǎn)發(fā)的端口映射:
大致的原理如下:
假設(shè)B處于內(nèi)網(wǎng)且為服務(wù)端所在機(jī)器,A處于外網(wǎng),且為控制端所在機(jī)器,A想訪問B的3389端口,正常訪問是無法訪問的.但此時(shí)我們開啟端口映射功能,則大致流程如下:
1、對(duì)于A端來說,先監(jiān)聽一個(gè)映射到本機(jī)的端口,然后當(dāng)使用mstsc.exe 連接到這個(gè)端口的時(shí)候,A就與之建立了一個(gè)socket連接,改socket命令為s1,之后mstsc.exe通過s1發(fā)送來的所有數(shù)據(jù)都會(huì)被A上的遠(yuǎn)程控制端接受,并通過與B建立的遠(yuǎn)程連接通道將數(shù)據(jù)發(fā)送到B。
2、對(duì)于B端來說,遠(yuǎn)程控制軟件服務(wù)端程序先和3389端口建立socket連接,該連接命名為s2,通過接受與A建立的遠(yuǎn)程連接通道獲取A發(fā)送來的端口映射數(shù)據(jù),之后再通過s2通道發(fā)送到3389端口。
至此,端口映射完成,其實(shí)遠(yuǎn)程控制軟件在此扮演的是一個(gè)數(shù)據(jù)中轉(zhuǎn)的角色.
總結(jié)
以上是生活随笔為你收集整理的关于普通端口映射的原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用-完美者U盘维护系统V8
- 下一篇: Junit 入门使用教程