代理服務器(Proxy Server)是網上提供轉接功能的服務器,在一般情況下,我們使用網絡瀏覽器直接去連接其他Internet站點取得網絡信息時,是直接聯繫到目的站點服務器,然後由目的站點服務器把信息傳送回來。代理服務器是介於客戶端和Web服務器之間的另一臺服務器,有了它之後,瀏覽器不是直接到Web服務器去取回網頁而是向代理服務器發出請求,信號會先送到代理服務器,由代理服務器來取回瀏覽器所需要的信息並傳送給你的瀏覽器。
比如你想訪問的目的網站是A,由於某種原因你不能訪問到網站A或者你不想直接訪問網站A(這樣通過代理服務器網站A,對網站A而已可以隱藏你自己的身份,也就是不知道是誰訪問的網站,而認為是代理服務器訪問的),此時你就可以使用代理服務器,在實際訪問網站的時候,你在瀏覽器的地址欄內和你以前一樣輸入你要訪問的網站,瀏覽器會自動先訪問代理服務器,然後代理服務器會自動給你轉接到你的目標網站。
代理服務器的作用
提高訪問速度:通常代理服務器都設置一個較大的緩衝區,當有外界的信息通過時,同時也將其保存到緩衝區中,當其他用戶再訪問相同的信息時,則直接由緩衝區中取出信息,傳給用戶,以提高訪問速度。
隱藏真實身份:上網者也可以通過代理服務器隱藏自己的真實地址信息,還可隱藏自己的IP,防止被黑客攻擊。
突破限制:有時候網絡供應商會對上網用戶的端口,目的網站,協議,遊戲,即時通訊軟件等的限制,使用代理服務器都可以突破這些限制。
代理服務器主要類型
HTTP代理:最簡單的一種代理形式,能夠代理客戶機的HTTP訪問,上網瀏覽網頁使用的都是HTTP協議,通常的HTTP代理端口為80、3128或8080端口。
SOCKS代理:SOCKS代理與HTTP等其他類型的代理不同,它只是簡單地傳遞數據包,而並不關心是何種應用協議,既可以是HTTP協議,也可以是FTP協議,或者其他任何協議,所以SOCKS代理服務器比其他類型的代理服務器速度要快得多。SOCKS代理又分為SOCKS4和 SOCKS5,二者不同的是SOCKS4代理只支持TCP協議(即傳輸控制協議),而SOCKS5代理則既支持TCP協議又支持UDP協議(即用戶數據包協議),還支持各種身份驗證機制、服務器端遠程域名解析(解決DNS汙染就靠這個了)等。SOCK4能做到的SOCKS5都可得到,但SOCKS5能夠做到的SOCKS則不一定能做到。目前SOCKS5是最常用的一種SOCKS代理。
工具/原料
電腦
安裝火狐瀏覽器
方法/步驟
HTTP代理服務器的設置方法,對於IE和FireFox設置略有不同。設置前需要先找一些可用的免費代理服務器地址。
IE的設置是這樣的,打開IE瀏覽器,選擇菜單欄的“工具/Internet選項...”。
這時候分兩種情況,對於ADSL撥號用戶來說,選擇一個網絡連接後,點“設置”,如下圖所示,選中代理服務器,填入地址和端口號。
對於局域網用戶來說,需要點“局域網設置”,如下圖所示,選中代理服務器,填入地址和端口號。
FireFox的設置和IE類似,打開FireFox瀏覽器,選擇菜單欄的“工具/選項...”。
這時選擇“高級/網絡”,點設置,就出現下面的界面,就可以進行代理服務器的設置了,選中“手動配置代理”,然後填寫代理服務器的地址和端口。
如何使用SOCKS代理服務器
這裡就到重點內容了,SOCKS代理是目前功能最為全面,使用最為穩定的代理服務器,我目前上網就只用SSH搭建SOCKS代理服務器上網,訪問網絡沒有任何限制。下面我就著重講一下如何使用SOCKS代理服務器。
用SSH搭建SOCKS代理上網,建議使用Firefox瀏覽器,因為Firefox支持SOCKS代理遠程域名解析,而IE只能通過類似SocksCap這樣的第三方軟件實現,不是很方便。
配置Firefox瀏覽器
在Firefox設置SOCKS遠程域名解析,主要是為了防止DNS汙染,具體設置方法是,在Firefox地址欄中,輸入 about:config ,按確認,修改裡面的一項數值,改成 network.proxy.socks_remote_dns=true 就可以了。
然後,打開FireFox瀏覽器,選擇菜單欄的“工具/選項...”。選擇“高級/網絡”,點設置,就出現下面的界面,就可以進行代理服務器的設置了,選中“手動配置代理”,然後在SOCKS主機上,填寫代理服務器的地址127.0.0.1,端口1080,SOCKS類型選擇“SOCKS V5”,這時Firefox就配置結束。
設置SSH
配置好了Firefox,就該配置SSH了,安全外殼協議(Secure Shell Protocol / SSH)是一種在不安全網絡上提供安全遠程登錄及其它安全網絡服務的協議。常用的SSH工具有開源軟件PuTTY,支持SSH遠程登錄的主機可以實現socks5代理服務器的功能,不過在PuTTY中沒有配置文件,需要手動設置才能實現,且無法保存,而PuTTY完整版自帶的pLink可以實現命令行方式調用PuTTY實現SSH的加密通道。
具體的方法是,去PuTTY官方網站下載pLink這個文件,pLink的調用參數是:plink -C -v -N -pw 密碼 -D 本地端口 遠程用戶@IP或域名:遠程希望打開的端口。
新建一個文件,寫入以下內容,另存為pLink.bat批處理文件,並放在Putty的安裝目錄內。
@plink -N [email protected] -pw Password -D 127.0.0.1:1080
請將Username sshServer Password三處改為用戶自己登陸SSH服務器的用戶名、服務器地址和密碼。這個SSH帳號可以通過多種方法獲得,例如用戶購買了某些國外主機空間或VPS就會有SSH帳號,或者在淘寶網也有SSH帳號出售,我自用的SSH帳號是用每年100美元購買虛擬主機時贈送的,通常SSH帳號的價格大約是每年幾十元人民幣左右,也有少量國外網站提供免費的SSH帳號。
執行這個批處理文件,保持其窗口開啟,一旦關閉窗口代理便失效。然後打開已經配置好127.0.0.1:1080的Socks5代理的Firefox瀏覽器,就可以使用SOCKS代理服務器上網了。
其他設置技巧
為了方便代理服務器的快速切換,我推薦兩個FireFox代理服務器擴展,一個是QuickProxy,可以實現一鍵切換代理功能,QuickProxy安裝後在狀態欄有一個按鈕,點擊後可以啟用、關閉Firefox瀏覽器的默認代理設置,可以快速在代理和非代理之間切換,很方便。界面如下圖所示。另一個是AutoProxy,通過一份無法訪問的域名列表目錄,實現自動在代理和非代理之間切換,該域名列表目錄由志願者手動維護。AutoProxy還可實現自定義您自己的代理規則;訂閱規則列表;自定義代理服務器等功能。使用AutoProxy的時候需要注意,點“代理服務器-編輯代理服務器”,將ssh -D的端口由7070修改為1080,點“代理服務器-選擇代理服務器”,將ssh -D設置為默認。
設置完成了之後,你就可以自由自在地在開放的互聯網上傲遊了。根據我的使用經驗,基於SSH的SOCKS代理穩定、快速、功能全面,是值得推薦的代理方法,使用過程中流量需要自己把控,我個人覺得其瀏覽體驗要遠遠高於其他代理軟件。