隧道技術(Tunneling)是一種通過使用互聯網絡的基礎設施在網絡之間傳遞數據的方式。
使用隧道傳遞的數據(或負載)可以是不同協議的數據幀或包。
隧道協議將其它協議的數據幀或包重新封裝然后通過隧道發送。新的幀頭提供路由信息,以便通過互聯網傳遞被封裝的負載數據。
這里所說的隧道類似于點到點的連接。這種方式能夠使來自許多信息源的網絡業務在同一個基礎設施中通過不同的隧道進行傳輸。隧道技術使用點對點通信協議
代替了交換連接,通過路由網絡來連接數據地址。隧道技術允許授權移動用戶或已授權的用戶在任何時間、任何地點訪問企業網絡。
通過隧道的建立,可實現:
* 將數據流強制送到特定的地址
* 隱藏私有的網絡地址
* 在IP網上傳遞非IP數據包
* 提供數據安全支持
近來出現了一些新的隧道技術,并在不同的系統中得到運用和拓展。
隧道技術
為創建隧道,隧道的客戶機和服務器雙方必須使用相同的隧道協議。隧道技術可分別以第2層或第3層隧道協議為基礎。第2層隧道協議對應于OSI模型的數
據鏈路層,使用幀作為數據交換單位。PPTP(點對點隧道協議)、L2TP(第二層隧道協議)和L2F(第2層轉發協議)都屬于第2層隧道協議,是將用戶
數據封裝在點對點協議(PPP)幀中通過互聯網發送。第3層隧道協議對應于OSI 模型的網絡層,使用包作為數據交換單位。IPIP(IP over
IP)以及IPSec隧道模式屬于第3層隧道協議,是將IP包封裝在附加的IP包頭中,通過IP網絡傳送。無論哪種隧道協議都是由傳輸的載體、不同的封裝
格式以及用戶數據包組成的。它們的本質區別在于,用戶的數據包是被封裝在哪種數據包中在隧道中傳輸。
這個技術是近期才出現的新事物,并且已經被用到各種黑客軟件之中,比較成熟的有遠程控制軟件“網絡神偷”和“灰鴿子”。
這是國內兩個很有代表性的運用“http隧道穿越原理”而制作的軟件,用該類型軟件可以穿透防火墻,不受端口的限制。
一般防火墻為了安全起見,都只開80和其他一些常用的端口,這樣的話,那些一般的基于tcp/ip客戶端和服務端的木馬就不能通過防火墻和外界發生聯系,
特別是在內網之中,
但是經過特殊處理的ip封包可以偽裝成http封包,這樣防火墻就認為其是合法的http數據包,就會放行,這樣在木馬的接收端,軟件
再將偽裝過的ip封包還原出來,取出其中有用的數據,從而達到穿越防火墻端口設置的限制。
該類型軟件具有很大的欺騙性,所以不要認為設置了端口限制的防火墻就一定很安全了。
利用HTTP協議的缺陷來實現對防火墻的滲透,或者說現有的一些HTTP隧道技術的實現,是基于防火墻在對HTTP協議的報文進行識別與過濾時,往往只對其諸如POST、GET等命令的頭進行識別,而放行其后的所有報文。