區域網路穿透防火牆,可以使用HTTPTUNNEL,這個軟體需要服務端做配合,要運作httptunnel的服務端,這種方法對區域網路端口限制很有效。
隐通道技術就是借助一些軟體,可以把防火牆不允許的協定封裝在已被授權的可行協定内,進而通過防火牆,端口轉換技術也是把不允許的端口轉換成允許通過的端口,進而突破防火牆的限制。這類技術現在有些軟體可以做到,HACKER經常用到這類技術。
HTTPTunnel,Tunnel這個英文單詞的意思是隧道,通常HTTPTunnel被稱之為HTTP暗道,它的原理就是将資料僞裝成 HTTP的資料形式來穿過防火牆,實際上是在HTTP請求中建立了一個雙向的虛拟資料連接配接來穿透防火牆。說得簡單點,就是說在防火牆兩邊都設立一個轉換程式,将原來需要發送或接受的資料包封裝成HTTP請求的格式騙過防火牆,是以它不需要别的代理伺服器而直接穿透防火牆。HTTPTunnel剛開始時隻有 Unix版本,現在已經有人把它移植到Window平台上了,它包括兩個程式,htc和hts,其中htc是用戶端,而hts是伺服器端,我們現在來看看我是如何用它們的。比如開了FTP的機器的遠端機器IP是
192.168.0.3,本地機器的IP是192.168.0.4,現在我本地因為防火牆的原因無法連接配接到 FTP上,現在用HTTPTunnel的過程如下:
第一步:在本地機器上(192.168.0.4)啟動HTTPTunnel用戶端。啟動MS-DOS的指令行方式,然後執行htc -F 6666 192.168.0.3:80指令,其中htc是用戶端程式,-f參數表示将資料在192.168.0.3:80和本機的6666端口之間互相轉發,這個端口可以随便選,隻要本機沒有占用就可以。
用Netstat看一下本機現在開放的端口,發現6666端口已在偵聽。
第二步:在遠端機器上啟動HTTPTunnel的伺服器端,并執行指令
“hts -F localhost:21 80”,這個指令的意思是說把本機21端口發出去的資料全部通過80端口中轉,并且開放80端口作為偵聽端口,将80端口的某些資料轉到21端口,再用Neststat看一下遠端機器,就會發現80端口現在也在偵聽狀态。
第三步:在本地機器上用FTP連接配接本機的6666端口,現在已經連上對方的機器了。
可是,人家看到的怎麼是127.0.0.1而不是192.168.0.4的位址?因為本地機器現在是連接配接本機的6666端口,防火牆肯定不會有反應,因為沒往外發包,當然區域網路的防火牆不知道了。現在連接配接上本機的6666端口以後,FTP的資料包不管是控制資訊還是資料資訊,都被htc僞裝成HTTP資料包然後發過去,在防火牆看來,這都是正常資料,相當于欺騙了防火牆。
需要說明的是,這一招的使用需要其他機器的配合,就是說要在他的機器上啟動一個hts,把他所提供的服務,如FTP等重定向到防火牆所允許的80 端口上,這樣才可以成功繞過防火牆!HTTPTunnel還有一個優點,就是他的機器以前80端口開着,現在這麼用也不會出現什麼問題,正常的Web通路仍然走老路,重定向的隧道服務也暢通無阻!