遠端控制關鍵技術之混合協議

2021-06-03 01:39:15 字數 1203 閱讀 1397

遠端控制關鍵技術之混合協議

1.目地?

本文主要闡述遠端控制為什麼要使用混合協議,那些協議可以用於遠端控制類軟體,以及如何實現混合協議。

2.為什麼要使用混合協議?

隨著電腦的防禦類軟體發展,單個以傳統的tcp協議為基礎的遠端控制,在上線能力上慢慢被削弱了,特別是網路防範比較嚴格的網路,往往限制比較多,單個的協議難以突破防火牆的限制,所以催生出了基於混合協議的遠控。

3.可以用作遠端控制類的協議(原則上必須是一種internet協議型別)

a.tcp協議,這個不用解釋了,早期遠控基本都是基於這個協議的。

b.tcp**協議(socks4/socks5/http connect模式)模式**支援,嚴格來講,這個只是通訊前一部分需要認證乙個**,後期與tcp協議完全相同。

c.tcp-http-tunnel協議,構建http隧道,http隧道有個特點,就是一問一答,這種協議穿透性最強,但是速度最慢,受rtt(包往返週期)值影響比較大,此外,目前網路上講的http隧道技術都不完善,沒有考慮到squid/isa/bluecoat等,**加速,軟體防火牆,硬體防火牆等特殊的細節設定,還有密碼設定,認證方式,突破能力與穩定性十分有限。

d.udp協議,該協議是非可靠傳輸的,但udp很容易可以實現內網的穿越(p2p模式),udp隧道建立,需要開發者自己實現可靠傳輸。

d.udp-dns隧道,利用a記錄可以定義自己的dns解析伺服器,利用網際網路dns伺服器,把dns包中轉到自己的dns伺服器上,將資料隱藏在dns資料報內部,實現穿越防火牆的目地,同樣udp-dns需要自己實現可靠傳輸。

d.icmp協議(ping包),通過icmp協議,構建icmp隧道,icmp面向非連線,非可靠傳輸,需要自己實現可靠傳輸。

e.其他方式,例如基於raw socket ,ip層自定義資料報,需要自己實現可靠傳輸。

4.如何實現混合協議

我們可以針對各種協議,大致分為2類,可靠傳輸與非可靠傳輸(非可靠傳輸沒有連線,所以相對安全些),我們需要做的第一步就是以非可靠傳輸為基礎,自己實現可靠傳輸(實現滑動視窗,擁塞控制,自動重傳),第二步實現從可靠傳輸的資料報中提煉與嵌入遠端控制資料流;第三步實現混合協議轉換為tcp標準資料流,交付控制端處理(保證控制端與協議無關,控制端只要按 tcp協議處理)。

5.混合協議難點

a.將非可靠傳輸改進為可靠傳輸,說穿了就是模擬tcp,這個難度是很大的,也很複雜,我本人從事該項研究已經超過3年,就是vtcp技術(目前已經是11.0版本)。

幾種遠端控制協議

telnet telnet協議是tcp ip協議族中的一員,是internet遠端登陸服務的標準協議和主要方式。它為使用者提供了在本地計算機上完成遠端主機工作的能力。在終端使用者的電腦上使用telnet程式,用它連線到伺服器。終端使用者可以在telnet程式中輸入命令,這些命令會在伺服器上執行,就像...

SwiftUI之CoreData關鍵技術大全

swiftui高階之儲存使用者狀態實現登入與登出 表示儲存在coeredata中的單個物件 您必須使用它來建立,編輯,儲存和從core data永續性儲存中刪除。稍後您將看到,nsmanagedobject是一種變形器。它可以採用資料模型中任何實體的形式。1 儲存nsmanagedobject va...

5G混合網路關鍵技術要點

蜂窩網路與乙太網的融合 頻譜資源,功率分配演算法 遺傳演算法,引數迭代 d2d網路 device to device 無線異構網路 計算解除安裝模型 演算法 雲計算的優點 缺點 感測網路 歐姆龍 車載網路 nxp,特斯拉 頻譜分配演算法 實際問題的編輯條件求解 邊緣計算伺服器 通道通暢,平均傳輸時延...