專利名稱:一種基于Socks5協(xié)議的通用防火墻穿越方法
技術(shù)領(lǐng)域:
本發(fā)明屬于防火墻穿越領(lǐng)域,具體涉及一種基于Socks5協(xié)議的通用防火墻穿越方法。
背景技術(shù):
防火墻的英文名為“FireWall”,它是目前一種最重要的網(wǎng)絡(luò)防護設(shè)備。從專業(yè)角度講,防火墻是位于兩個(或多個)網(wǎng)絡(luò)間,實施網(wǎng)絡(luò)之間訪問控制的一組組件集合。防火墻最初的設(shè)計思想是對內(nèi)部網(wǎng)絡(luò)總是信任的,而對外部網(wǎng)絡(luò)卻總是不信任的,所以最初的防火墻是只對外部進來的通信進行過濾,而對內(nèi)部網(wǎng)絡(luò)用戶發(fā)出的通信不作限制。當(dāng)然目前的防火墻在過濾機制上也有所改變,不僅對外部網(wǎng)絡(luò)發(fā)出的通信連接要進行過濾,對內(nèi)部網(wǎng)絡(luò)用戶發(fā)出的部分連接請求和數(shù)據(jù)包同樣需要過濾,但防火墻仍只對
符合安全策略的通信通過,也可以說具有“單向?qū)ā毙?。防火墻的分類方法很多,簡單地說可以用以下五種方法進行分類1,從軟、硬件形式上分為軟件防火墻和硬件防火墻以及芯片級防火墻。2,從防火墻技術(shù)上分為“包過濾型”和“應(yīng)用代理型”兩大類。3,從防火墻結(jié)構(gòu)上分為單一主機防火墻、路由器集成式防火墻和分布式防火墻三種。4,按防火墻的應(yīng)用部署位置分為邊界防火墻、個人防火墻和混合防火墻三大類。5,按防火墻性能分為百兆級防火墻和千兆級防火墻兩類。本發(fā)明主要針對的是限制內(nèi)網(wǎng)對外發(fā)送消息端口的包過濾型企業(yè)防火墻。現(xiàn)有的對企業(yè)防火墻的主流穿越方案主要是基于消息代理的思想,而主流的代理方式核心思想是采用Socks5協(xié)議來進行消息代理。如圖I所示,在VoIP系統(tǒng)中,位于企業(yè)防火墻之后的客戶端,通過Socks5服務(wù)器來進行信令和媒體消息的代理,實現(xiàn)與企業(yè)防火墻外的客戶端通信。因為Socks5標(biāo)準(zhǔn)采用的是客戶端/服務(wù)器模式,在VoIP系統(tǒng)客戶端(只要是能接入VoIP核心網(wǎng)的并且不采用私有協(xié)議的客戶端都屬于VoIP系統(tǒng)客戶端)中需要植入Socks5的客戶端模塊,來進行被代理消息的處理以及與Socks5服務(wù)器的通信。更加詳細的Socks5的方案如下所述,由于被代理消息傳輸層可能由TCP或者UDP協(xié)議承載,所以防火墻代理過程也有所區(qū)別,具體如下1,基于TCP的防火墻穿越流程如圖2所示,防火墻穿越過程需要經(jīng)過幾個主要的過程(I) TCP連接的建立階段
該過程為傳統(tǒng)的TCP三次握手,讓Socks5客戶端模塊和Socks5服務(wù)器建立TCP連接。(2)鑒權(quán)消息對收發(fā)階段Socks5客戶端給服務(wù)器發(fā)送一條版本定義消息(version identifiermessage),消息結(jié)構(gòu)如表I所示
權(quán)利要求
1.一種基于Socks5協(xié)議的通用防火墻穿越方法,其特征在于所述方法在位于企業(yè)防火墻內(nèi)部的VoIP系統(tǒng)客戶端側(cè)設(shè)置通用Socks5客戶端,所述通用Socks5客戶端是獨立于VoIP系統(tǒng)客戶端的,且能夠?qū)λ鯲oIP系統(tǒng)客戶端發(fā)出的信令和媒體消息進行抓取、分析和代理,并能夠與位于企業(yè)防火墻外部的Socks5服務(wù)器進行通信,通過消息代理的方式來實現(xiàn)企業(yè)防火墻穿越。
2.根據(jù)權(quán)利要求I所述的基于Socks5協(xié)議的通用防火墻穿越方法,其特征在于所述方法包括 在VoIP系統(tǒng)客戶端發(fā)出信令消息或者媒體消息之后,通用Socks5客戶端在VoIP系統(tǒng)客戶端所在機器的網(wǎng)卡上抓取VoIP系統(tǒng)客戶端發(fā)出的消息的數(shù)據(jù)包; 對抓取到的數(shù)據(jù)包進行分析,如果消息的傳輸層是TCP承載,則通用Socks5客戶端與Socks5服務(wù)器之間進行基于TCP的企業(yè)防火墻穿越流程;如果消息的傳輸層是UDP承載,則通用Socks5客戶端與Socks5服務(wù)器之間進行基于UDP的企業(yè)防火墻穿越流程。
3.根據(jù)權(quán)利要求2所述的基于Socks5協(xié)議的通用防火墻穿越方法,其特征在于所述基于TCP的企業(yè)防火墻穿越流程和基于UDP的企業(yè)防火墻穿越流程均包括 (I)TCP連接的建立階段; (3)鑒權(quán)消息對收發(fā)階段; (3)地址協(xié)商階段; (4)數(shù)據(jù)傳輸階段; 在所述步驟(4)中,如果是TCP承載,則所述通用Socks5客戶端將抓取到的數(shù)據(jù)包通過TCP連接直接發(fā)送給Socks5服務(wù)器,之后由Socks5服務(wù)器完成代理過程;如果是UDP承載,則所述通用Socks5客戶端利用抓取到的數(shù)據(jù)包提取出消息的應(yīng)用層消息體,然后將該應(yīng)用層消息體填在DATA域中,然后發(fā)送給Socks5服務(wù)器,之后由Socks5服務(wù)器完成代理的過程。
全文摘要
本發(fā)明提供了一種基于Socks5協(xié)議的通用防火墻穿越方法,屬于防火墻穿越領(lǐng)域。所述方法在位于企業(yè)防火墻內(nèi)部的VoIP系統(tǒng)客戶端側(cè)設(shè)置通用Socks5客戶端,所述通用Socks5客戶端是獨立于VoIP系統(tǒng)客戶端的,且能夠?qū)λ鯲oIP系統(tǒng)客戶端發(fā)出的信令和媒體消息進行抓取、分析和代理,并能夠與位于企業(yè)防火墻外部的Socks5服務(wù)器進行通信,通過消息代理的方式來實現(xiàn)企業(yè)防火墻穿越。本發(fā)明方法為不同的VoIP系統(tǒng)客戶端提供了一種通用的方式來進行企業(yè)防火墻的穿越和消息的代理,在不影響客戶端現(xiàn)有協(xié)議棧的前提下完成Socks5的代理過程,降低了Socks5客戶端和原VoIP系統(tǒng)客戶端實現(xiàn)之間的耦合度。
文檔編號H04L29/06GK102984167SQ20121052578
公開日2013年3月20日 申請日期2012年12月7日 優(yōu)先權(quán)日2012年12月7日
發(fā)明者雙鍇, 徐鵬, 羅晗, 王玉龍, 蘇森 申請人:北京郵電大學(xué)