Http-tunnel突破单位网管封杀QQ、MSN端口的方法
生活随笔
收集整理的這篇文章主要介紹了
Http-tunnel突破单位网管封杀QQ、MSN端口的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
不少公司的防火墻作了較為嚴格的限制,以至于很多網絡服務如QQ、MSN都無法運行,如果你還能夠打開網頁,那么,使用Http通道軟件可以讓你突破限制,可以在現有的網絡條件中使用任何網絡服務。 使用Http通道軟件可以突破防火墻的限制,利用唯一Http訪問的權限獲得其他Internet應用。那么什么是通道呢?這里所謂的通道,是指一種繞過防火墻端口屏蔽的通訊方式。防火墻兩端的數據包封裝在防火墻所允許通過的數據包類型或是端口上,然后穿過防火墻與對方通訊,當封裝的數據包到達目的地時,再將數據包還原,并將還原后的數據包轉交到相應的服務器上。 Http-tunnel是一個專業提供Http通道服務的公司,通過他們的在線Tunnel Server,局域網內的用戶可以使用被防火墻所屏蔽的ICQ、E-mail、PC Anywhere、MSN、 QQ、Napster等軟件。 使用Http-tunnel的Tunnel Server必須使用Http-tunnel的客戶端程序Http-Tunnel Client,Http-Tunnel Client的免費版本允許40Kb/秒的數據轉發服務。 一、程序安裝和設置 1.運行下載的安裝程序,安裝過程比較簡單一路Next即可完成。 2.安裝完成后,會彈出"Configuration(配置)"窗口,設置本機的Internet連接,有三個選項: a) Auto detected(自動檢測):你果你不知道你的機器連接,可以選擇這個。 b) No Proxy,only a firewall(直接上網,有防火墻):使用局域網和直接上網的用戶選這個。 c) Specify Proxy(指定代理服務器):如果你使用代理服務器上網,選這個,同時你還必須輸入代理服務器的地址和端口,如果需要用戶名和密碼還需要一并輸入。 3.設置好連接,可以單擊"Test(測試)"按鈕,測試一下,如果看到"Test successful(測試成功)"的提示,就代表你設置的已經完成。 4.程序正常運行后,可以將它最小化,它會在任務欄的提示區內生成一個下圖標,單擊可還原。 設置QQmsn訪問 二、設置QQ訪問 由于QQ對外訪問使用的端口是4000,所以網絡管理員通常通過限制端口的使用來限制QQ的訪問,下面介紹一下如何設置QQ通過http-tunnel訪問Internet。 1.打開QQ,單擊"QQ菜單"按鈕,選擇"系統參數"。 2.在彈出的QQ參數設置窗口中,選擇"網絡設置"。 3.勾上"使用代理服務器"。 4.輸入代理服務器地址:127.0.0.1,端口號:1080。 5.確定,關閉所有窗口,重新登錄即可使用QQ了。 三、設置MSN訪問 MSN的訪問設置可QQ差不多,不過http-tunnel支持MSN要比QQ好得多,設置步驟如下: 1.選擇"工具"菜單的"選項"。 2.選擇"連接"標簽。 3.勾上"我使用代理服務器"。 4.類型選擇"SOCKS4",服務器中輸入"127.0.0.1",端口號"1080"。 5.確定,關閉所有窗口,重新登錄即可使用MSN了。 設置cuteftp和遠程桌面的訪問 四、設置Cuteftp的訪問 有時候網絡管理員為控制網絡帶寬的使用和保障信息安全,需要限制FTP服務,這給文件的上傳和下載帶來了不便。通過設置一樣可以確保Cuteftp實現Internet的訪問,設置步驟如下: 1.選擇"編輯"菜單,選擇"設置",彈出設置窗口。 2.展開"連接",選擇"SOCKS",選擇"SOCKs4",主機:127.0.0.1 端口:1080。(tu5.bmp) 3.選擇"防火墻",勾上"啟用防火墻訪問"和"PASV模式" 4.確定,關閉所有窗口,即可選擇站點登錄下載文件。 五、設置Windows XP的遠程桌面連接使用Http-Tunnel 由于遠程桌面連接并沒有提供代理服務器設置的界面,所以無法像QQ、MSN和Cuteftp一樣直接設置,這時候我們可以使用SocksCap協助我們完成,具體步驟是: 1.安裝SocksCap。 2.運行SocksCap,選擇"文件"菜單中的"設置",彈出"SocksCap 設置"對話框。 3.在"服務器/SOCKS 服務器"并填上127.0.0.1,"Port(端口)"填1080。 4.在"Protocol"里選擇"SOCKS 版本 4",在"域名解析"里選擇"Resolve all names remote(遠程解析)"。 5.單擊"新建"按鈕,在"標識項名稱"中輸入mstsc。 6.單擊"瀏覽"按鈕,找到MStsc.exe文件所在的位置即可。 7.單擊"確定"按鈕即可。 使用時,雙擊SocksCap列表中的mstsc圖標,即可啟動mstsc,mstsc訪問網絡都將通過代理跳板進行。需注意的是,一定要從SocksCap中啟動mstsc,否則將不會使用代理跳板。其實很多不能設置的防火墻的Internet應用程序,都可以通過這種方式,實現Http通道的功能。 上一篇:?第一個VHDL程序?|?下一篇:?一個不錯的matlab入門教程
?幾種建立http-tunnel的方法?? ?? 基本概念不多解釋了,直入主題。GNU HTTP Tunnel ([url]http://www.nocrew.org/software/httptunnel.html[/url])是一個開源的http-tunnel項目,包括了tunnel server(hts命令)和tunnel client(htc命令),有(x)nix和windows版本。我們就用它來建立自己的tunnel。
1。靜態tunnel。
??????? http-tunnel是一個完全透明的通道,直接將你的連接forward給目標服務端口,因此當你連接tunnel的本地偵聽端口時,就相當于直接連接到目標服務端口。例如你要建立一條可以訪問外部POP3服務器的隧道,可以建立如下連接:
??????????????????? htc? ------------> http proxy ------------------------> hts ------------------------------> POP3 serve
??????? (localhost:8888)???????????? (proxyhost:3128)?????? (tunnelserver:80)?????????????????????????? (pop3server:110)
在你自己的機器上運行htc,外部充當tunnel server的機器上的80端口運行hts,htc將數據打包成http請求,通過proxy連接到hts,hts解包后將連接forward給POP3服務器。命令如下:
????? 在tunnel server機器上:
? ?? ?????? hts --forward-port pop3server:110 80???????
??????????? (將pop3server替換成實際的IP)
????? 在本地機器上:
??????????? htc?--forward-port 8888 --proxy proxyhost:3128 tunnelserver:80?
??????????? (將proxyhost和tunnelserver替換成實際的IP)
????? 通過這樣的配置,你可以用Outlook或Foxmail連接本機的8888端口,就相當于直接連接到POP3服務器了。
2。動態的tunnel。
??????? 上面建立了一條可以訪問POP3服務的隧道,但缺點是只能訪問某一個指定的POP3服務器,要訪問其他的服務器還得按同樣的方法再建立一條隧道,很不方便。既然hts可以將連接forward給POP3服務器,那讓它forward給一個SOCKS5服務,不是就可以實現動態的tunnel,可以連接任意服務了嗎?yeah!沒錯!我們建立這樣的連接:
??????????????????? htc? ------------> http proxy ------------------------> hts ------------------------------> SOCKS5 serve
??????? (localhost:8888)???????????? (proxyhost:3128)?????? (tunnelserver:80)?????????????????????????? (socks5server:1080)
命令就不說了,照第一點改一下就行。這樣就相當于在localhost:8888運行了一個SOCKS5服務,設置一下你的網絡程序(Outlook,NetAnt,FlashGet,QQ......),讓他們通過SOCK5訪問網絡,就OK了。
3。利用http proxy的CONNECT支持。
??????? 大多數http proxy支持CONNECT命令,但一般只支持CONNECT到外部服務器的443(https)端口。這是為了允許訪問外部的https服務。由于porxy對于CONNECT的連接是直接轉發,不做任何分析處理或緩存,所以利用CONNECT可以獲得比較快的速度。
??????? 由于hts和htc不支持CONNECT連接,我們可以使用另一個專門支持CONNECT的程序DesProxy? [url]http://desproxy.sourceforge.net[/url]
來建立一個tunnel。由于使用CONNECT建立了直接的TCP連接,不需要將數據按http格式打包和解包,所以連tunnel server也不需要了,只需要在你原來運行hts機器上運行一個SOCKS5就行了,連接如下:
????????????? desproxy? -------------> http proxy ----------------------> SOCKS5 server
???????? (localhost:8888)?????????? (proxyhost:3128)????????????????? ? (tunnelserver:443)
??????? desproxy命令的用法:
? ? ? ?????? desproxy remote_host remote_port proxy_host proxy_port local_port
?????? 在這里remot_host,remote_port就是tunnelserver:443,proxy_host,proxy_port是porxyhost:3128,local_port就是8888。
??????? 注意必須把SOCKS5運行在443端口,如果運行在其他端口的話,CONNECT請求會被http proxy拒絕。同樣,我們在localhost:8888得到了一個可以訪問外部的SOCK5服務。
4。最簡單,最安全而且快速的方式:利用SSH + CONNECT。
? ? ?? 實際上SSH提供了SOCKS5的功能,利用ssh客戶端或PuTTY可以在本地建立一個SOCKS5服務,而且PuTTY也直接支持http proxy,最大的好處是ssh的數據連接是加密的,保證了數據的安全。使用ssh的連接如下:
???????? PuTTY(或plink) ------------> http? proxy? ---------------------> ssh server
????? (localhost:8888)???????????????? (proxyhost:3128)???????????????????? (tunnelserver:443->22)
???? 首先我們要讓ssh server在443端口偵聽,ssh默認端口是22,我們可以修改ssh的配置,或用iptables將443端口重定向到22端口,服務端的配置就OK了。然后在PuTTY建立一個new session,填上ssh服務器的ip和port;在"Connection->Proxy"頁,填上http proxy的ip和port;在"SSH -> Tunnels"頁,"Source port"填本地的端口,在這里我們用8888",Destination"選"Dynamic",按"Add"將這個forward port加上,就OK了。配置完成后,用PuTTY登陸上ssh,用netstat -an可以看到PuTTY已經在localhost:8888偵聽了,這是一個SOCKS5服務,下面改怎么用,就不用我羅嗦了吧:-)。另外在"SSH"頁,可以根據要求選擇"Protocol options"。保存session后,也可以用命令行的plink命令來利用這個session:
?????? plink -load session_name?????????? (session_name就是session保存的名稱)
登陸后效果也一樣。
?幾種建立http-tunnel的方法?? ?? 基本概念不多解釋了,直入主題。GNU HTTP Tunnel ([url]http://www.nocrew.org/software/httptunnel.html[/url])是一個開源的http-tunnel項目,包括了tunnel server(hts命令)和tunnel client(htc命令),有(x)nix和windows版本。我們就用它來建立自己的tunnel。
1。靜態tunnel。
??????? http-tunnel是一個完全透明的通道,直接將你的連接forward給目標服務端口,因此當你連接tunnel的本地偵聽端口時,就相當于直接連接到目標服務端口。例如你要建立一條可以訪問外部POP3服務器的隧道,可以建立如下連接:
??????????????????? htc? ------------> http proxy ------------------------> hts ------------------------------> POP3 serve
??????? (localhost:8888)???????????? (proxyhost:3128)?????? (tunnelserver:80)?????????????????????????? (pop3server:110)
在你自己的機器上運行htc,外部充當tunnel server的機器上的80端口運行hts,htc將數據打包成http請求,通過proxy連接到hts,hts解包后將連接forward給POP3服務器。命令如下:
????? 在tunnel server機器上:
? ?? ?????? hts --forward-port pop3server:110 80???????
??????????? (將pop3server替換成實際的IP)
????? 在本地機器上:
??????????? htc?--forward-port 8888 --proxy proxyhost:3128 tunnelserver:80?
??????????? (將proxyhost和tunnelserver替換成實際的IP)
????? 通過這樣的配置,你可以用Outlook或Foxmail連接本機的8888端口,就相當于直接連接到POP3服務器了。
2。動態的tunnel。
??????? 上面建立了一條可以訪問POP3服務的隧道,但缺點是只能訪問某一個指定的POP3服務器,要訪問其他的服務器還得按同樣的方法再建立一條隧道,很不方便。既然hts可以將連接forward給POP3服務器,那讓它forward給一個SOCKS5服務,不是就可以實現動態的tunnel,可以連接任意服務了嗎?yeah!沒錯!我們建立這樣的連接:
??????????????????? htc? ------------> http proxy ------------------------> hts ------------------------------> SOCKS5 serve
??????? (localhost:8888)???????????? (proxyhost:3128)?????? (tunnelserver:80)?????????????????????????? (socks5server:1080)
命令就不說了,照第一點改一下就行。這樣就相當于在localhost:8888運行了一個SOCKS5服務,設置一下你的網絡程序(Outlook,NetAnt,FlashGet,QQ......),讓他們通過SOCK5訪問網絡,就OK了。
3。利用http proxy的CONNECT支持。
??????? 大多數http proxy支持CONNECT命令,但一般只支持CONNECT到外部服務器的443(https)端口。這是為了允許訪問外部的https服務。由于porxy對于CONNECT的連接是直接轉發,不做任何分析處理或緩存,所以利用CONNECT可以獲得比較快的速度。
??????? 由于hts和htc不支持CONNECT連接,我們可以使用另一個專門支持CONNECT的程序DesProxy? [url]http://desproxy.sourceforge.net[/url]
來建立一個tunnel。由于使用CONNECT建立了直接的TCP連接,不需要將數據按http格式打包和解包,所以連tunnel server也不需要了,只需要在你原來運行hts機器上運行一個SOCKS5就行了,連接如下:
????????????? desproxy? -------------> http proxy ----------------------> SOCKS5 server
???????? (localhost:8888)?????????? (proxyhost:3128)????????????????? ? (tunnelserver:443)
??????? desproxy命令的用法:
? ? ? ?????? desproxy remote_host remote_port proxy_host proxy_port local_port
?????? 在這里remot_host,remote_port就是tunnelserver:443,proxy_host,proxy_port是porxyhost:3128,local_port就是8888。
??????? 注意必須把SOCKS5運行在443端口,如果運行在其他端口的話,CONNECT請求會被http proxy拒絕。同樣,我們在localhost:8888得到了一個可以訪問外部的SOCK5服務。
4。最簡單,最安全而且快速的方式:利用SSH + CONNECT。
? ? ?? 實際上SSH提供了SOCKS5的功能,利用ssh客戶端或PuTTY可以在本地建立一個SOCKS5服務,而且PuTTY也直接支持http proxy,最大的好處是ssh的數據連接是加密的,保證了數據的安全。使用ssh的連接如下:
???????? PuTTY(或plink) ------------> http? proxy? ---------------------> ssh server
????? (localhost:8888)???????????????? (proxyhost:3128)???????????????????? (tunnelserver:443->22)
???? 首先我們要讓ssh server在443端口偵聽,ssh默認端口是22,我們可以修改ssh的配置,或用iptables將443端口重定向到22端口,服務端的配置就OK了。然后在PuTTY建立一個new session,填上ssh服務器的ip和port;在"Connection->Proxy"頁,填上http proxy的ip和port;在"SSH -> Tunnels"頁,"Source port"填本地的端口,在這里我們用8888",Destination"選"Dynamic",按"Add"將這個forward port加上,就OK了。配置完成后,用PuTTY登陸上ssh,用netstat -an可以看到PuTTY已經在localhost:8888偵聽了,這是一個SOCKS5服務,下面改怎么用,就不用我羅嗦了吧:-)。另外在"SSH"頁,可以根據要求選擇"Protocol options"。保存session后,也可以用命令行的plink命令來利用這個session:
?????? plink -load session_name?????????? (session_name就是session保存的名稱)
登陸后效果也一樣。
轉載于:https://blog.51cto.com/3layer/57338
總結
以上是生活随笔為你收集整理的Http-tunnel突破单位网管封杀QQ、MSN端口的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于SharePoint部署Webpar
- 下一篇: 笔记本上使用Archlinux[转]