什麼是代理伺服器
代理伺服器(ProxyServer)是網上提供轉接功能的伺服器,在一般情況下,我們使用網絡瀏覽器直接去連接其他Internet站點取得網絡信息時,是直接聯繫到目的站點伺服器,然後由目的站點伺服器把信息傳送回來。代理伺服器是介於客戶端和Web伺服器之間的另一臺伺服器,有了它之後,瀏覽器不是直接到Web伺服器去取回網頁而是向代理伺服器發出請求,信號會先送到代理伺服器,由代理伺服器來取回瀏覽器所需要的信息並傳送給你的瀏覽器。
比如你想訪問的目的網站是A,由於某種原因你不能訪問到網站A或者你不想直接訪問網站A(這樣通過代理伺服器網站A,對網站A而已可以隱藏你自己的身份,也就是不知道是誰訪問的網站,而認為是代理伺服器訪問的),此時你即可使用代理伺服器,在實際訪問網站之際,你在瀏覽器的地址欄內和你以前一樣輸入你要訪問的網站,瀏覽器會自動先訪問代理伺服器,然後代理伺服器會自動給你轉接到你的目標網站。
代理伺服器的作用
提高訪問速度:通常代理伺服器都設置1個較大的緩衝區,當有外界的信息通過時,同時也將其保存到緩衝區中,當其他用戶再訪問相同的信息時,則直接由緩衝區中取出信息,傳給用戶,以提高訪問速度。
隱藏真實身份:上網者也可以通過代理伺服器隱藏自己的真實地址信息,還可隱藏自己的IP,防止被黑客攻擊。
突破限制:有的時候網絡供應商會對上網用戶的埠,目的網站,協議,遊戲,即時通訊軟體等的限[]制,使用代理伺服器都可以突破這些限制。
代理伺服器主要類型
HTTP代理:做簡單的1種代理形式,能夠代理客戶機的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是最常用的1種SOCKS代理。
如何使用HTTP代理伺服器
HTTP代理伺服器的設置方法,對於IE和FireFox設置略有不同。設置前需要先找一些可用的免費代理伺服器地址。
IE的設置是這樣的,打開IE瀏覽器,選擇菜單欄的「工具/Internet選項...」。
這時候分2種情況,對於ADSL撥號用戶來說,選擇1個網絡連接後,點「設置」,如下圖所示,選中代理伺服器,填入地址和埠號。
對於區域網用戶來說,需要點「區域網設置」,如下圖所示,選中代理伺服器,填入地址和埠號。
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,這時Firefox就配置結束。
設置SSH
配置好了Firefox,就該配置SSH了,安全外殼協議(Secure Shell Protocol /SSH)是1種在不安全網絡上提供安全遠程登錄及其它安全網絡服務的協議。常用的SSH工具有開源軟體PuTTY,支持SSH遠程登錄的主機可以實現socks5代理伺服器的功能,不過在PuTTY中沒有配置文件,需要手動設置才能實現,且無法保存,而PuTTY完整版自帶的pLink可以實現命令行方式調用PuTTY實現SSH的加密通道。
具體的方法是,去PuTTY官方網站下載pLink這個文件,pLink的調用參數是:plink -C -v -N -pw 密碼-D 本地埠 遠程用戶@IP或域名:遠程希望打開的埠。
新建1個文件,寫入以下內容,另存為pLink.bat批處理文件,並放在Putty的安裝目錄內。
plink -N Username@sshServer -pw Password -D 127.0.0.1:1080
請將Username sshServerPassword三處改為用戶自己登陸SSH伺服器的用戶名、伺服器地址和密碼。這個SSH帳號可以通過多種方法獲得,例如用戶購買了某些國外主機空間或VPS就會有SSH帳號,或者在淘寶網也有SSH帳號出售,我自用的SSH帳號是用每年100美元購買虛擬主機時贈送的,通常SSH帳號的價格大約是每年幾十元人民幣左右,也有少量國外網站提供免費的SSH帳號。
執行這個批處理文件,保持其窗口開啟,一旦關閉窗口代理便失效。然後打開已經配置好127.0.0.1:1080的Socks5代理的Firefox瀏覽器,即可使用SOCKS代理伺服器上網了。
其他設置技巧
為了方便代理伺服器的快速切換,我建議安裝1個名為QuickProxy的FireFox的代理伺服器擴展,可以實現一鍵切換代理功能,QuickProxy安裝後在狀態欄有1個按鈕,點擊後可以啟用、關閉Firefox瀏覽器的默認代理設置,可以快速在代理和非代理之間切換,很方便。界面如下圖所示。
設置完成了之後,你即可自由自在地在開放的網際網路上傲遊了。根據我的使用經驗,基於SSH的SOCKS代理穩定、快速、功能全面,是值得推薦的代理方法,使用過程中流量需要自己把控,我個人覺得其瀏覽體驗要遠遠高於其他代理軟體。
隨著這次Google退出中國市場,本文可能會成為未來網民常用的上網技巧之一。