Http Tunnel 小记
HTTP隧道是一種通信技術(shù),通過該技術(shù),使用不同的網(wǎng)絡(luò)協(xié)議,使用HTTP協(xié)議,網(wǎng)絡(luò)協(xié)議問題通常屬于TCP / IP的協(xié)議族的封裝。HTTP協(xié)議,因此,作為一個通道,被傳輸?shù)木W(wǎng)絡(luò)協(xié)議進(jìn)行通信時使用的包裝。HTTP流,其隱蔽通道被稱為一個HTTP隧道。HTTP隧道軟件由客戶端-服務(wù)器的HTTP隧道與現(xiàn)有的應(yīng)用軟件集成的應(yīng)用程序,允許它們被用在條件受限的網(wǎng)絡(luò)連接,包括防火墻的網(wǎng)絡(luò)。
HTTP隧道機(jī)制:希望與遠(yuǎn)程主機(jī)進(jìn)行通信的應(yīng)用程序打開一個HTTP連接到一個中介服務(wù)器,充當(dāng)通信中繼和遠(yuǎn)程主機(jī)。然后,應(yīng)用程序與中介服務(wù)器使用HTTP請求,這些請求內(nèi)封裝的實際通信。中介服務(wù)器解開前的實際數(shù)據(jù)轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī),從遠(yuǎn)程主機(jī)接收數(shù)據(jù)時,把數(shù)據(jù)包裹在HTTP協(xié)議中做為HTTP響應(yīng)的一部分發(fā)送至應(yīng)用程??序。
簡單說,當(dāng)在一個受防火墻的端口屏蔽、Url攔截或Dns污染等的網(wǎng)絡(luò)環(huán)境下,通過Http Tunnel Client把數(shù)據(jù)包通過Http 80端口發(fā)送至Http Tunnel Server代理服務(wù)器,代理服務(wù)器再將這些數(shù)據(jù)包轉(zhuǎn)發(fā)至遠(yuǎn)程主機(jī)。
主要常用場景:
? ? 1. QQ、MSN等IM軟件被封;
? ? 2. 迅雷、電騾等P2P軟件被封;
? ? 3. mstsc遠(yuǎn)程桌面、FTP客戶端等網(wǎng)絡(luò)通訊受阻;
? ? 4. 部分網(wǎng)站被封;
? ? 5. 網(wǎng)絡(luò)環(huán)境統(tǒng)一走代理服務(wù)器和Dns服務(wù)器;
? ? ......
https://sites.google.com/site/luizluca/port-forward-over-http?介紹了HTTP轉(zhuǎn)包的思路;
BarbaTunnel?實現(xiàn)了Http/Udp Tunnel的開源項目;
GNU HTTPtunnel?跨平臺,但不支持multiple tunnels;
飛檐走壁?實現(xiàn)了Http Tunnel的國產(chǎn)開源項目,并支持multiple tunnels和socks4/4a/5以及Http代理協(xié)議的包裝;
?
這里主要介紹飛檐走壁的使用方式。首先是點擊這里安裝,安裝完畢后運(yùn)行界面如下圖:
默認(rèn)開啟了socks4/4a/5和Http代理協(xié)議的包裝(這里的socks4包含socks4a);右鍵通知區(qū)域圖標(biāo)可查看菜單,菜單項有“配置”、“啟動Proxifier”、“我的設(shè)備等”。點擊“配置”打開“CloudAgent.config”(可用記事本打開)如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration><appSettings><!--開啟服務(wù)端節(jié)點--><add key="AsServerNode" value="false"/><!--開啟加密通訊--><add key="EnableSsl" value="false"/><!--驗證憑據(jù) 格式:“用戶名:密碼”--><add key="Credential" value="rocky:e89e4780c76ce101f1a32a7d87e9489d"/><!--隧道列表 格式:“本地代理端口#代理協(xié)議或轉(zhuǎn)發(fā)端點,\代表反向連接”--><add key="TunnelList" value="1080#Socks4,1081#Socks5,1082#Http,--1800#121.199.43.145:3389,6379#121.199.43.145:6379,6380#121.199.43.145:6380"/></appSettings> </configuration>TunnelList的值由半角,分割,每項#號左邊代表本地監(jiān)聽的端口,#號右邊可為3種方式:
1. 遠(yuǎn)程終結(jié)點,即 IP + 端口;
? ??格式:1800#121.199.43.145:3389
? ? 這種方式直接轉(zhuǎn)發(fā)數(shù)據(jù)包,如mstsc、redis這種遠(yuǎn)程終結(jié)點已知的應(yīng)用;
2. “Socks4, Socks5, Http” 這3個枚舉值之一,枚舉值區(qū)分大小寫;socks5支持服務(wù)端Dns解析和Udp協(xié)議,因此應(yīng)優(yōu)先選擇socks5代理。
? ??格式:1081#Socks5
? ??這種方式會在本地對應(yīng)代理協(xié)議的方式監(jiān)聽,如FTP, qq這種遠(yuǎn)程終結(jié)點未知的應(yīng)用;一般網(wǎng)絡(luò)應(yīng)用程序都有設(shè)置代理的選項如下圖QQ:?
點擊OK后即設(shè)置完畢。
3. 方式1或方式2 + "\設(shè)備ID",其中設(shè)備ID必須是相同帳號下的客戶端,并且設(shè)備ID是由服務(wù)端動態(tài)分配;
? ??格式:1800#121.199.43.145:3389\F7B4B4DC-B427-4A90-9210-5149309FCDD9 或?1081#Socks5\F7B4B4DC-B427-4A90-9210-5149309FCDD9
? ? 這種方式會反向連接設(shè)備ID上的網(wǎng)絡(luò)應(yīng)用;如家里的客戶端連接公司的客戶端設(shè)備上的mstsc;
?
在使用代理服務(wù)器上網(wǎng)的環(huán)境中,因為部分軟件不支持或不能很好地支持代理服務(wù)器導(dǎo)致出現(xiàn)無法正常使用的問題,Proxifier可以很好地解決這個問題。右鍵圖標(biāo)菜單“啟動Proxifier”,Proxifier運(yùn)行后會在系統(tǒng)任務(wù)欄中建立一個圖標(biāo),反應(yīng)通過代理的數(shù)據(jù)情況,至此基本的Proxifier安裝和設(shè)置已經(jīng)完成,不必再在軟件中另行設(shè)置代理服務(wù)器信息,輕松上網(wǎng)。
自動代理很方便,但也會遇到一些不需要通過代理的網(wǎng)絡(luò)訪問受到影響而無法使用的問題,比如一些內(nèi)網(wǎng)的應(yīng)用,Proxifier提供代理規(guī)則設(shè)置功能,通過設(shè)置不但可以自動識別不需要走代理的網(wǎng)絡(luò)訪問,還支持不同應(yīng)用走不同代理服務(wù)器的功能(本教程中不涉及,可自行摸索)。
點擊菜單欄中的“Profile”-“Proxification Rules”
軟件中預(yù)置的規(guī)則如下圖,藍(lán)色規(guī)則表示符合“Target Hosts”的應(yīng)用采取“Direct”直連的方式通訊。
第二天規(guī)則表示默認(rèn)情況下所有的應(yīng)用均通過我們的“默認(rèn)代理服務(wù)器”。
此處我們介紹一下如何增加“直連”的應(yīng)用程序設(shè)置,雙擊藍(lán)色規(guī)則。
在箭頭的輸入框中輸入走“直連”的主機(jī)地址,使用分號進(jìn)行分隔,支持IP、域名且支持通配符。
設(shè)置完畢后點擊“OK”按鈕確認(rèn)生效。
?
參考文獻(xiàn):
http://www.cnblogs.com/mandrake/archive/2012/05/24/2516871.html?Proxifier設(shè)置
轉(zhuǎn)載于:https://www.cnblogs.com/Googler/archive/2013/05/30/3109402.html
總結(jié)
以上是生活随笔為你收集整理的Http Tunnel 小记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: strrchr 字符查找函数
- 下一篇: 基于蚁群算法的岸桥作业顺序研究