A. 用代理伺服器上網是什麼意思
代理伺服器(Proxy Server)是個人網路和Internet服務商之間的中間代理機構,它負責轉發合法的網路信息,對轉發進行控制和登記。代理伺服器作為連接Internet與Intranet的橋梁,在實際應用中發揮著極其重要的作用,它可用於多個目的,最基本的功能是連接,此外還包括安全性,緩存,內容過濾,訪問控制管理等功能。代理伺服器,顧名思義就是局域上不能直接上網的機器將上網請求(比如說,瀏覽某個主頁)發給能夠直接上網的代理伺服器,然後代理伺服器代理完成這個上網請求,將它所要瀏覽的主頁調入代理伺服器的緩存;然後將這個頁面傳給請求者。這樣區域網上的機器使用起來就像能夠直接訪問網路一樣。並且,代理伺服器還可以進行一些網站的過濾和控制的功能,這樣就實現了我們控制和節省上網費用。
代理伺服器能夠讓多台沒有IP地址的電腦使用其代理功能高速、安全地訪問互聯網資源。當代理伺服器客戶端發出一個對外的資源訪問請求,該請求先被代理伺服器識別並由代理伺服器代為向外請求資源。由於一般代理伺服器擁有較大的帶寬,較高的性能,並且能夠智能地緩存已瀏覽或未瀏覽的網站內容,因此,在一定情況下,客戶端通過代理伺服器能更快速地訪問網路資源。代理伺服器應用的常見例子:擁有上百台電腦的區域網通過一台能夠訪問外部網路資源的代理伺服器而也能訪問外部互聯網。
B. 什麼叫代理伺服器lp和埠號碼
代理伺服器,英文名叫Proxy Server。一般來講,對於普通的網民它的作用有三個
一是通過它,我們可以訪問到一些平時不能去的網站。
二是通過它來加快我們瀏覽某些網站的速度。
三是連接Internet與Intranet 充當firewall防火牆.
埠號碼是代理伺服器的埠,它通常綁定在代理伺服器的80、3128、8080等埠上。
C. IP伺服器代理起什麼作用
我們可以通過很多方式來完成ip交換。如果你在網上搜索,你也可以找到很多教程,但最簡單的方法之一是代理ip。
如今,代理ip在我們的生活中非常普遍,尤其是網際網路工作者。利用ip獲取信息,是爬蟲工作中最常用的方法,由於獲取的信息較多,因此需要使用代理ip來解決ip數量的限制。另外,代理ip在共享網路時也能起到保護作用,提高區域網的安全性。
想知道使用代理ip有什麼好處?這需要我們了解代理伺服器。讓我們一起學習。
代理伺服器的主要功能:
代理伺服器主要用於內容過濾和緩存,提高了性能,增加了使用網路的全能性。
代理人具體處理的事情:
修改HTTP請求和過濾請求,保存響應和修改響應。
代理商的核心功能:
收到客戶端的請求後,轉到伺服器後端,得到答復後返回客戶端。
事實上,目前有許多代理ip軟體可以幫助您更改ip。在這些代理中,我們建議支持pc端和手機端的品易HTTP代理。採用強化代理技術和加密連接,比VPN和SSH代理要快得多。
D. 什麼是IP代理器
你好!請參考下:代理IP即代理伺服器(Proxy Server)是一種重要的安全功能,它的工作主要在開放系統互聯(OSI)模型的對話層,從而起到防火牆的作用。代理伺服器大多被用來連INTERNET(國際互聯網)和INTRANET(區域網)。
用處和功能如下:
(1)設置用戶驗證和記賬功能,可按用戶進行記賬,沒有登記的用戶無權通過代理伺服器訪問Internet網。並對用戶的訪問時間、訪問地點、信息流量進行統計。
(2)對用戶進行分級管理,設置不同用戶的訪問許可權,對外界或內部的Internet地址進行過濾,設置不同的訪問許可權。
(3)增加緩沖器(Cache),提高訪問速度,對經常訪問的地址創建緩沖區,大大提高熱門站點的訪問效率。通常代理伺服器都設置一個較大的硬碟緩沖區(可能高達幾個GB或更大),當有外界的信息通過時,同時也將其保存到緩沖區中,當其他用戶再訪問相同的信息時,則直接由緩沖區中取出信息,傳給用戶,以提高訪問速度。
(4)連接內網與Internet,充當防火牆(Firewall):因為所有內部網的用戶通過代理伺服器訪問外界時,只映射為一個IP地址,所以外界不能直接訪問到內部網;同時可以設置IP地址過濾,限制內部網對外部的訪問許可權。
(5)節省IP開銷:代理伺服器允許使用大量的偽IP地址,節約網上資源,即用代理伺服器可以減少對IP地址的需求,對於使用區域網方式接入Internet ,如果為區域網(LAN)內的每一個用戶都申請一個IP地址,其費用可想而知。但使用代理伺服器後,只需代理伺服器上有一個合法的IP地址,LAN內其他用戶可以使用10.*.*.*這樣的私有IP地址,這樣可以節約大量的IP,降低網路的維護成本。
(6)代理IP 最大的好處可以通過IP管理網路資源,限制部分網路資源進入特定的區域用戶!保護資源的地域性。 希望幫助你
E. 什麼是代理伺服器
代理伺服器
代理伺服器英文全稱是Proxy Server,其功能就是代理網路用戶去取得網路信息。形象的說:它是網路信息的中轉站。在一般情況下,我們使用網路瀏覽器直接去連接其他Internet站點取得網路信息時,是直接聯繫到目的站點伺服器,然後由目的站點伺服器把信息傳送回來。代理伺服器是介於瀏覽器和Web伺服器之間的另一台伺服器,有了它之後,瀏覽器不是直接到Web伺服器去取回網頁而是向代理伺服器發出請求,信號會先送到代理伺服器,由代理伺服器來取回瀏覽器所需要的信息並傳送給你的瀏覽器。
大部分代理伺服器都具有緩沖的功能,就好像一個大的Cache,它有很大的存儲空間,它不斷將新取得數據儲存到它本機的存儲器上,如果瀏覽器所請求的數據在它本機的存儲器上已經存在而且是最新的,那麼它就不重新從Web伺服器取數據,而直接將存儲器上的數據傳送給用戶的瀏覽器,這樣就能顯著提高瀏覽速度和效率。
更重要的是:代理伺服器是 Internet鏈路級網關所提供的一種重要的安全功能,它的工作主要在開放系統互聯 (OSI) 模型的對話層,從而起到防火牆的作用。
F. 什麼是代理伺服器,為什麼叫做「代理「好處是什麼,如何在C#程序中鏈接到代理伺服器
代理程序的種類非常多,根據協議不同可以分成HTTP代理服務程序、FTP代理服務程序等,而運行代理服務程序的伺服器也就相應稱為HTTP代理伺服器和FTP代理伺服器。本文將介紹的Web代理服務程序代理的是HTTP協議。
一、網路代理程序的優點
代理服務所起的是一個橋的作用,它是網路信息的中轉站。在網路中應用代理服務一般是基於以下幾個原因:
(1)充分利用IP地址資源。在區域網中,一般對外的IP地址都是非常有限的,為了保證區域網內部的主機都能夠訪問互聯網資源,通過網路代理就可以實現。
(2)能夠保證網路安全。網路代理可以充當內部網和互聯網之間的防火牆,通過過濾IP地址,限定某些IP地址對外部資源的訪問。
(3)能夠有效地隱藏自己的IP地址和主機名。由於所有對外網的請求都是通過代理伺服器實現的,所以目的主機只能知道代理伺服器的IP地址。
(4)提高網路速度。通常代理伺服器都設有一個較大的硬碟緩沖區,它存儲界數據,當你再訪問相同的數據時,則可以直接從緩沖區中取出信息,從而提高訪問速度。
二、網路代理的類型及實現原理
網路代理服務根據工作層次,一般可分為應用層代理、傳輸層代理和SOCKS代理。應用層代理是工作在TCP/IP參考模型的應用層之上,它支持對應用
層協議(如HTTP、FTP)的代理。它提供的控制最多,但是不靈活,必須要有相應的協議支持。如果協議不支持代理(如SMTP和POP),那就只能在應
用層以下代理,也即傳輸層代理。傳輸層代理直接與TCP層交互,更加靈活。要求代理伺服器具有部分真正伺服器的功能:監聽特定TCP或UDP埠,接收客
戶端的請求同時向客戶端發出相應的響應。另一種代理需要改變客戶端的IP棧,即SOCKS代理。它是可用的最強大、最靈活的代理標准協議。SOCK V4
允許代理伺服器內部的客戶端完全地連接到外部的伺服器,SOCK V5增加了對客戶端的授權和認證,因此它是一種安全性較高的代理。本節後面介紹的代理是
一種應用層上面的代理,所代理的協議是HTTP,也就是經常見到的Web代理。
正如上面所說,網路代理就是一個連接客戶端(需要代理的計算機)和伺服器端(提供訪問資源的伺服器)的橋。要實現這種橋的功能,網路代理就必須滿足下列條件,其實也是代理服務的運行的流程:
(1)接收並解析客戶端的請求。
(2)創建到伺服器的新連接,並轉發客戶端的請求信息。
(3)接收伺服器反饋的信息。
(4)解釋伺服器的響應並將該響應傳回給客戶端。
網路代理雖然有很多優點,但由於使用代理後,自己對網路的所有請求都是通過代理伺服器這個中間人來實現的,所以有可能碰上存有惡意的人監聽你的輸入的內容。同樣,如果選擇的代理伺服器的帶寬比較小,使用代理還會降低網速。
總而言之,使用代理有利有弊,使用者要根據自身的情況來決定。但無論如何,選擇一個好的代理伺服器是非常重要的。
三、C#實現Web代理服務程序
經過了上面的介紹,我想大家對代理服務應該有了一個基本的認識,下面就讓我們通過一個實例來深入體會一下如何用C#實現Web代理服務。Web代理服務的功能順序是這樣的:
(1)偵聽埠,等待客戶端瀏覽器發送來的Web請求信息。
(2)接收到客戶端Web請求信息後,解析出目標Web伺服器的地址,並創建一個Socket實例,並以此實例連接Web伺服器上。
(3)通過創建的Socket傳送客戶端的Web請求數據包到Web伺服器的80埠。
(4)接收Web伺服器返回的頁面數據。
(5)把接收來的數據傳送到客戶端,從而實現Web代理。
客戶端對某個Web地址的瀏覽,可能要傳送很多的Web請求信息(比如網頁中的圖像、Flash等),為了更快更准確地處理這些信息,Web代理服務
程序通常採用多線程來處理每一個Web請求。細心的讀者可能會發現,處理每一個客戶端的Web請求信息,代理伺服器軟體都要使用二個Socket,一個是
用來接收/傳送客戶機的信息,一個是和Web伺服器進行交流。為了區分這二個Socket,我們把和伺服器對話的稱為「服務Socket」,和客戶端機器
對話的稱為「客戶Socket」。
下面就開始Web代理服務程序的編寫工作。這個實例包含三個部分內容:
1.創建一個Web代理類。
2.Web代理服務的類的實例化。
3.如何通過這個Web代理類的實例實現Web代理服務。
(一)創建一個Web代理類
具體操作步驟如下:
1.啟動Visual Studio.Net,依次選擇「文件」、「新建」、「項目」菜單後,在彈出「新建項目」對話框中將「項目類型」設置為
「Visual C#項目」,將「模板」設置為「Windows應用程序」,在「名稱」文本框中輸入「WebProxy」,在「位置」文本框中輸入
「E:VS.NET項目」,然後單擊「確定」按鈕,這樣項目便建立好了。
2.依次選擇菜單「項目」、「添加類」,將彈出「添加新項」對話框。
3.將「模板」設置為「類」。
4.在「名稱」文本框中輸入「Proxy」,單擊「打開」按鈕
5.在「解決方案資源管理器」窗口中,雙擊Proxy.cs文件,進入Proxy.cs文件的編輯界
6.在Proxy.cs源文件的開頭,添加下列代碼,下列代碼是導入Proxy.cs中要使用到的命名空間:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.IO;
7.用下列構造函數替代默認的構造函數。下面的代碼是在Proxy類中創建一個構造函數。Proxy類只有一個構造函數,並且這個構造函數只有一個參數,這個參數是Socket對象,它主要用來和客戶端進行數據交換,是一個「客戶Socket」:
public Proxy(Socket socket)
{
//
// TODO: 在此處添加構造函數邏輯
//
this.clientSocket = socket ;
}
8.在定義Proxy類代碼區中加入下列代碼,下列代碼是定義Proxy類中的使用的一些變數,這些變數主要是在後面的定義Run方法中使用。
Socket clientSocket;
Byte[] read = new byte[1024];
//定義一個空間,存儲來自客戶端請求數據包
Byte [] Buffer = null;
Encoding ASCII = Encoding.ASCII;
//設定編碼
Byte[] RecvBytes = new Byte[4096];
//定義一個空間,存儲Web伺服器返回的數據
9.創建Proxy類中的Run方法。Run方法是Proxy類中唯一的方法。其功能是從客戶端接收HTTP請求,並傳送到Web伺服器,然後從
Web伺服器接收反饋來的數據,並傳送到客戶端。為了實現這二個不同方面的數據傳送,Run方法中是通過兩個Socket實例來實現的。在編寫Run方法
的時候,要注意下面兩點:
(1)由於HTTP建立於TCP協議之上,所以創建的Socket實例應該使用TCP協議。下面代碼是創建可以傳送HTTP請求命令到Web伺服器和接收來自Web伺服器反饋來信息的Socket實例:
Socket IPsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
(2)另外一個Socket是在代理服務程序偵聽埠號,接收連接請求時候得到的,所以應該以此Socket為參數,利用Proxy類中的構造函數來創建一個Proxy實例。此Socket實現從客戶端接收HTTP請求信息,並傳送數據到客戶端。
Socket創建和使用是實現Web代理軟體的關鍵。在構造函數代碼後面,輸入下列代碼:
public void Run()
{
string clientmessage = " " ;
//存放來自客戶端的HTTP請求字元串
string URL = " " ;
//存放解析出地址請求信息
int bytes = ReadMessage(read, ref clientSocket, ref clientmessage);
if (bytes == 0)
{
return ;
}
int index1 = clientmessage.IndexOf(' ');
int index2 = clientmessage.IndexOf(' ', index1 + 1);
if ((index1 == -1) || (index2 == -1))
{
throw new IOException();
}
string part1 = clientmessage.Substring(index1 + 1, index2 - index1);
int index3 = part1.IndexOf('/', index1 + 8);
int index4 = part1.IndexOf(' ', index1 + 8);
int index5 = index4 - index3;
URL = part1.Substring(index1 + 4, (part1.Length - index5) - 8);
try
{
IPHostEntry IPHost = Dns.Resolve(URL);
Console.WriteLine("遠程主機名: " + IPHost.HostName);
string [] aliases = IPHost.Aliases;
IPAddress[] address = IPHost.AddressList;
Console.WriteLine("Web伺服器IP地址:" + address[0]);
//解析出要訪問的伺服器地址
IPEndPoint ipEndpoint = new IPEndPoint(address[0], 80);
Socket IPsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//創建連接Web伺服器端的Socket對象
IPsocket.Connect(ipEndpoint);
//Socket連Web接伺服器
if (IPsocket.Connected)
Console.WriteLine("Socket 正確連接!");
string GET = clientmessage;
Byte[] ByteGet = ASCII.GetBytes(GET);
IPsocket.Send(ByteGet, ByteGet.Length, 0);
//代理訪問軟體對伺服器端傳送HTTP請求命令
Int32 rBytes = IPsocket.Receive(RecvBytes, RecvBytes.Length, 0);
//代理訪問軟體接收來自Web伺服器端的反饋信息
Console.WriteLine("接收位元組數:" + rBytes.ToString());
String strRetPage = null;
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, rBytes);
while (rBytes > 0)
{
rBytes = IPsocket.Receive(RecvBytes, RecvBytes.Length, 0);
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, rBytes);
}
IPsocket.Shutdown(SocketShutdown.Both);
IPsocket.Close();
SendMessage(clientSocket, strRetPage);
//代理服務軟體往客戶端傳送接收到的信息
}
catch (Exception exc2)
}
//接收客戶端的HTTP請求數據
private int ReadMessage(byte [] ByteArray, ref Socket s, ref String clientmessage)
{
int bytes = s.Receive(ByteArray, 1024, 0);
string messagefromclient = Encoding.ASCII.GetString(ByteArray);
clientmessage = (String)messagefromclient;
return bytes;
}
//傳送從Web伺服器反饋的數據到客戶端
private void SendMessage(Socket s, string message)
{
Buffer = new Byte[message.Length + 1];
int length = ASCII.GetBytes(message, 0, message.Length, Buffer, 0);
Console.WriteLine("傳送位元組數:" + length.ToString());
s.Send(Buffer, length, 0);
}
至此,Proxy類的定義過程就完成了。
(二)利用Proxy類,實現Web代理
下面是利用Proxy類實現Web代理程序的具體實現步驟,Proxy類被定義在命名空間WebProxy中:
1.在Visual Studio .Net的代碼編輯器中打開Class1.cs文件,進入Class1.cs的代碼編輯界面。
2.在Class1.cs源文件的開頭導入下列命名空間:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.IO;
using System.Threading;
using WebProxy;
3.在Main函數中添加下列代碼,下列代碼是利用Proxy類,來實現Web代理程序:
const int port = 8000 ;
//定義埠號
TcpListener tcplistener = new TcpListener(port);
Console.WriteLine("偵聽埠號: " + port.ToString());
tcplistener.Start();
//偵聽埠號
while (true)
{
Socket socket = tcplistener.AcceptSocket();
//並獲取傳送和接收數據的Scoket實例
Proxy proxy = new Proxy(socket);
//Proxy類實例化
Thread thread = new Thread(new ThreadStart(proxy.Run));
//創建線程
thread.Start();
//啟動線程
}
保存上面的所有步驟,這樣一個簡單Web代理程序就算是完成了。此Web代理程序偵聽的是8000埠號。
(三)測試Web代碼程序
Web代理程序要通過二台計算機才能夠實現,其中的一台計算機運行Web代理程序充當Web代理伺服器,另外一台計算機充當客戶機,通過Web代理伺服器來瀏覽網頁。在確定Web代理軟體運行後,需要對客戶機進行進行必要的設置:
1.打開IE瀏覽器。
2.依次選擇「工具」、「Internet選項」,在彈出的「Internet選項」對話框中選擇「連接」頁面,單擊其中的「區域網設置」按鈕,在彈
出的「區域網(LAN)設置」對話框,選擇「為LAN使用代理伺服器(X),(這些設置不會應用於撥號和VPN連接)」多選框,並在其中的「地址」文本框
中輸入代理伺服器的IP地址,比如「10.138.198.213」,在「埠」文本框中輸入「8000」。
此時客戶端的設置就完成了。在確定IP地址為「10.138.198.213」的這台計算機已經運行上面介紹的Web代理程序後,打開客戶端的IE瀏覽器,並輸入要瀏覽的網址,就可以通過Web代理伺服器來瀏覽網頁了。
四、總結
至此一個簡單的Web代理服務軟體就算基本完成了。雖然代理服務的實現原理相對簡單,但具體實現還是很繁瑣的。網路代理是一個內容豐富,實現復雜的論
題,本節介紹的代理服務軟體,無論在實現的協議種類,還是實現的功能,都只能算很小的一部分。希望各位能夠通過本文的介紹,結合其他相關的知識,創造出功
能更強大、安全性更高,使用更穩定的網路代理服務程序來。
G. 什麼是「代理伺服器」
如果我告訴你,用代理伺服器可以免費訪問Internet,可以加速訪問速度,可以訪問無法直接訪問的站點,可以部分解決網路
IP地址緊缺的問題……,您一定認為,天下哪有這等美事?如果您能耐心看完冗長的本文,您就會確信我說的話毫不誇張,如果應
用得當,可以每月為您節省一筆可觀的上網費用,就用不著每個月戰戰兢兢的跑到電信局一五一十的把"血汗錢""捐獻"給ISP了。
代理伺服器的工作機制
代理伺服器的工作機制很象我們生活中常常提及的代理商,假設你自己的機器為A機,你想獲得的數據由伺服器B提供,代理服
務器為C,那麼具體的連接過程是這樣的。
首先,A機需要B機的數據,A直接與C機建立連接,C機接收到A機的數據請求後,與B機建立連接,下載A機所請求的B機上的數據
到本地,再將此數據發送至A機,完成代理任務。
代理伺服器存在的理由
或許你要問了,何必這么麻煩呢?A機與B機直接建立不是很好么?請耐心聽我講完,使用代理伺服器當然有其存在的合理理由:
1、局域局內沒有與外網相連的機器通過內網的代理伺服器連接到外網。這個例子,最有說服力的就是小辦公室的上網解決方案
了,利用辦公室原有的區域網,只要簡單的利用一根電話線、一個合法帳號(在ISP初申請得到撥號號碼和用戶名和密碼),加上一個
簡單的代理軟體(如Sygate,WinGate,Winrouter)就可以方便的以最小的花費將整個辦公室的電腦與互聯網路相連接。
2、為了獲得更大的速度,通過帶寬較大的proxy與目標主機連接。訪問台灣部分站點的速度大家相必已經領教過了,如果我們
使用一個位於美國的代理伺服器(之所以這里稱為選用美國的代理伺服器是因為二岸之間尚無直接聯接二岸網路的直接通道)如非常
經典的一個代理伺服器Proxy.golden.net:3000,您可以非常明顯的感覺出連接速度的改善簡直會出乎您的意料。我在網上看到有這
樣一個非常形象的例子,現原文引用:"因為proxy serve一般都設在比較近的地方。打個比方,比如我在香港要看北京的青年報,
是派人去北京買一份來看,還是從樓下報亭買一份看,兩個選擇哪一個快?當然是後者。proxy serve就是那個報亭,你想看什麼報
盡管向它要。如果有它就馬上給你,如果沒有就馬上去進一批,自己也順手留一份。"
3、同一地區未互聯的不同網路通過代理建立連接。還是以上面的列舉的代理伺服器為例,設置正確之後,我們就可以訪問Xoom、
Geocities等一般無法直接訪問的站點。當然,需要提醒各位朋友的就是之所以限制這些站點的訪問,是因為這些站點存在一些和我
們國家長治久安相背離的內容,所以採取了屏蔽措施,希望大家訪問的時候能注意甄別。這種限制是人為的,不同代理伺服器對地址
的封鎖是不同的,所以一個不行時可以換一個試試。
4、可以免費訪問網際網路。這是這個文的重頭戲。用免費169帳號上網際網路已經成為一個公開的秘密了。但是,到現在為止,尚無
一個徹底"完全代理解決方案",所以,才有了本文的代理專題介紹。眾所周知,中國電信旗下建立的網路有兩種,一種是真正意義上
的國際互聯網(因撥接號碼為一般為163,俗稱163),另一種是所謂的中國公用多媒體網(因撥接號碼為一般為169,俗稱169)。以江蘇
地區為例,169用戶又分為三類,C類用戶擁有網外權,可以直接享受國際互聯網的所有服務;另一類稱為B類用戶,也稱注冊用戶,
使用注冊的帳號上網,但只能與以cninfo.net結尾和廣東視靈通的網站連接(IP地址以10開頭和172開頭);第三類稱為A類用戶,也稱
GUEST用戶,使用公用的賬號上網,採取主叫記費制,在計費標准上與B類用戶有區別(一般只收取市內電話費)。
仔細看完本文後,A類和B類用戶將會因此節約大筆上網費用,只要支付本地市話費(前提是本地開通169免費帳號,如大部分地區
採用用戶名GUEST,密碼為GUEST的免費帳號)。
誰架設了代理伺服器
因為代理伺服器可以在某種程度上緩解帶寬的壓力和提高訪問速度,所以一般提供代理伺服器的是這二種機構。
一:是大型機關、企業事業、教育機構
前段時間大家熟知的169網路上的代理伺服器大多來自連接169網路的政府機關。當然教育網上的代理伺服器也是相當地多。
二:ISP
前者通常有錢裝備專線,按理速度應該是很快的,但由於使用者太多,(比如,一根64k專線,500個終端,速度還不如撥號快),
也不堪重負。這時,一個proxy就解決問題了。大多數信息(統計是在70%以上)都是常用的,可以直接從本地讀取。只有少量信息才要
重新從外界讀取,速度自然快很多,ISP支付給上家的流量費用也可以大量節省,用戶由於訪問速度提高節約的網路費也是可觀。提供
proxy的ISP們也是一樣,只不過面對的對象是使用撥號上網的限制用戶而已。
HTTP代理小常識
一、HTTP代理的匿名性
This is a proxy that hides the original users' IP address and other details from the remote server. 這種代理,對
遠端伺服器隱藏原始用戶的IP地址以及其它細節(可能,但不必需)。
HTTP代理匿名性是指不通過非常技術手段,直接使用時代理的匿名安全性。(說明:這里的匿名與其它如FTP伺服器的匿名意義是
不一樣的,不論匿名與否,代理伺服器均能起到「代理」的作用。只是匿名代理可以確保被訪問方不能追溯到源IP,在一定程度上更
加安全而已。這並不是一個重要的指標,是否必要則仁者見仁、智者見智。)
測試自己的http代理是否匿名,簡單方法:訪http://cpcug.org/s cripts/env.cgi,先看「REMOTE_ADDR」顯示的ip,如果不是
你本身的ip,說明代理伺服器起作用了。再看「HTTP_X_FORWARDED_FOR」,如果有,並顯示你的ip,為非匿名代理。如果沒有顯示,
則為匿名代理。(Tips:看一下「HTTP_USER_AGENT」和「HTTP_ACCEPT_LANGUAGE」,你就能知道你的代理提供了多大的安全性。)
二、HTTP CONNECT代理
對於HTTP代理,不少人有認識上的誤區,有必要說明一下,不是所有的HTTP代理都只能代理HTTP的,vice versa!
HTTP CONNECT代理伺服器是一種能夠允許用戶建立TCP連接到任何埠的代理伺服器,這意味著這種代理不僅可用於HTTP,還包括
FTP、IRC、RM流服務等,甚至掃描、攻擊。
三、三種代理的區別
· 全匿名代理 不改變你的request fields,使伺服器端看來就像有個真正的客戶瀏覽器在訪問它。當然,你的真實IP是隱藏起
來的。伺服器的網管不會認為你使用了代理。
· 普通匿名代理 能隱藏你的真實IP,但會更改你的request fields,有可能會被認為使用了代理,但僅僅是可能,一般說來是
沒問題的。不過不要受它的名字的誤導,其安全性可能比全匿名代理更高,有的代理會剝離你的部分信息(就好比防火牆的stealth
mode),使伺服器端探測不到你的*作系統版本和瀏覽器版本。
· 透明代理(簡單代理)改變你的request fields,並會傳送真實IP。
跳板是一個程序,也可以說是一種socks5代理的應用吧。
代理跳板
* 從本地機器連接到遠程機器,中間通過安裝的代理跳板。對應用程序而言,相當於普通的sock代理調用。
* 在跳板之間傳輸的數據,是已經被動態加密的。加密種子每次不同。
* 跳板的數目由 1 到 255,不限制,當數目為0時,相當於Sock5代理伺服器。
各種網路軟體如何設置代理伺服器?
如何在軟體中設置代理伺服器是本文的主要部分。
首先我們必須明白哪些軟體可以使用哪些類型的代理伺服器。
瀏覽器軟體可以用HTTP或SOCKS4或SOCKS5代理伺服器
下載軟體可以用HTTP或FTP或SOCKS4或SOCKS5代理伺服器
至於上傳主頁就可以用FTP或SOCKS4或SOCKS5代理伺服器
其它均需要SOCKS4或SOCKS5代理伺服器(收郵件,玩ICQ、MUD等)
另外,proxy的埠,常見的http proxy(也是大家用的最多的)埠有:80, 8080,8888,3128等,Socks4/5 有1080,ftp proxy
有21,2121等。
代理伺服器英文全稱是Proxy Server,其功能就是代理網路用戶去取得網路信息。形象的說:它是網路信息的中轉站。在一般情況下,
我們使用網路瀏覽器直接去連接其他Internet站點取得網路信息時,須送出Request信號來得到回答,然後對方再把信息以bit方式傳
送回來。代理伺服器是介於瀏覽器和Web伺服器之間的一台伺服器,有了它之後,瀏覽器不是直接到Web伺服器去取回網頁而是向代理
伺服器發出請求,Request信號會先送到代理伺服器,由代理伺服器來取回瀏覽器所需要的信息並傳送給你的瀏覽器。而且,大部分
代理伺服器都具有緩沖的功能,就好象一個大的Cache,它有很大的存儲空間,它不斷將新取得數據儲存到它本機的存儲器上,如果瀏
覽器所請求的數據在它本機的存儲器上已經存在而且是最新的,那麼它就不重新從Web伺服器取數據,而直接將存儲器上的數據傳送給
用戶的瀏覽器,這樣就能顯著提高瀏覽速度和效率。更重要的是:Proxy Server (代理伺服器)是 Internet鏈路級網關所提供的一種
重要的安全功能,它的工作主要在開放系統互聯 (OSI) 模型的對話層。
代理伺服器分好多種,如HTTP、FTP、Secure、Gopher、Socks等,但最常用的是HTTP和Socks代理。也許有人不明白為什麼要用代理,
如果要是通過區域網上Internet的話,代理伺服器可以方便地使區域網內的用戶連入Internet;如果是通過撥號上網,用代理伺服器
也許能訪問一些許可權不夠的資源,而且可以隱藏自己的真實IP,從而避免網上搗亂分子的追蹤和攻擊。
目前幾種常見的代理伺服器工具軟體分為支持HTTP及Socks的和只支持HTTP的兩種。下面就介紹一下這兩種不同類型軟體的設置方法。
支持HTTP和Socks類
如果你所在區域網的網管把HTTP和Socks代理伺服器都開通了,那就恭喜了,你可以藉此在網上暢通無阻;如果是撥號上網的話,那
么HTTP和Socks代理伺服器要自己去找了,常用的代理搜索軟體有代理獵手和SocksCat等。
1.瀏覽器的設置
以中文IE5為例,從IE瀏覽器菜單欄中的「工具(T)」彈出的下拉菜單中選擇「Internet選項(O)」,在彈出的對話框中,選擇
「連接」選項卡,單擊其中的「區域網設置(L)」按鈕,在隨後彈出的「區域網(LAN)設置」對話框中的「代理伺服器」區域內,
先選取「使用代理伺服器(X)」前的復選框,然後點擊「高級」按鈕,進入「代理伺服器設置」窗口,把你所使用的代理伺服器的地
址和埠填入相應的欄目中,HTTP和Socks代理選擇其中一個即可,當然把兩種代理的地址和埠都填進去也無妨。這樣,瀏覽器將通
過你所設定的代理伺服器訪問Internet了。
2.下載工具的設置
以Netants1.23中文版為例,從Netants的菜單「選項(O)」的下拉菜單中選擇「參數設置(P)」,在「Netants設置」窗口中選擇
「代理」選項卡,點擊「添加」按鈕,在「代理」窗口中首先給你的代理隨便起個名字,從「類型」下拉選單中選擇一種代理方式,
如果用HTTP代理可以選擇HTTP,Sock代理根據實際情況選擇Socks4或Socks5,並把代理伺服器的地址和埠填入相應欄目,再把它設
成HTTP和FTP的默認值。
3.FTP工具的設置
以中文漢化版CuteFTP4.2為例,在「編輯(E)」菜單中選擇「設置(S)…」,在「設置」窗口左側選擇Socks,在右側填入Socks
代理的地址和埠(一般Socks代理的埠為1080),並根據實際情況選擇Socks4或Socks5。
4.網路尋呼工具的設置
以OICQ 2000b為例,若是新安裝的OICQ軟體,可按注冊向導一步步進行到「網路設置」的界面時,選中「使用PROXY SOCKS5防火
牆」,並把Socks5的地址和埠輸入到相應的欄目。按「下一步」繼續注冊的進程。
若原已安裝並已設置過OICQ,也可以直接修改原來的設置。具體方法是從屏幕右下角的系統托盤中,右鍵單擊OICQ小企鵝圖標,進
入「系統參數設置」,直接修改OICQ的「網路設置」。修改完成後,左鍵單擊任務欄中OICQ灰色圖標,選擇「上線」,即可重新連接OICQ。
5.E-mail工具的設置
因為E-mail軟體所用到的POP3和SMTP協議本身並沒有代理機制,所以它們本身並沒有使用代理伺服器的能力,但是可以通過SocksCap
這個協議轉換軟體,把其他協議的請求轉換成對Socks代理伺服器的請求,間接地使用代理伺服器來完成收發E-mail。
首先,安裝SocksCap,在它的「File」菜單中選擇「Setting…」,在「SocksCap Settings」窗口中設置Socks代理伺服器的地址和
埠,並把E-mail軟體加入SocksCap的窗口中,可以通過選擇SocksCap的「File」菜單中的「New」打開「New Application Profile」
窗口來按部就班地添加,也可以把E-mail軟體的圖標直接拖放到SocksCap主窗口中。以後想要用E-mail工具的時候,就啟動SocksCap,
雙擊主窗口中的相應圖標即可。注意,在E-mail工具使用的過程中,不能關閉SocksCap。
只支持HTTP類
這種情況下,像瀏覽器、下載工具等可以使用HTTP代理伺服器的軟體是沒有任何問題的,可是那些必須依靠Socks代理伺服器的網路
工具軟體就有點麻煩了,不過辦法還是有的。這需要用到另一個協議轉換軟體Socks2HTTP了,它的作用是把對Socks代理的請求轉換成
對HTTP代理的請求。
1.本身支持Socks代理伺服器的網路工具
像OICQ和CuteFTP等支持Socks代理伺服器的網路工具,它們的設置方法同上文所述,只是代理伺服器的地址和埠要改為:
localhost:1080,即本地地址。安裝好Socks2HTTP,右鍵點擊系統托盤中的Socks2HTTP圖標,在彈出的快捷菜單中選擇
「Configuration」,在「Socks2HTTP Configuration」窗口中把你的HTTP代理伺服器的地址和埠填入。設置完成後,
先啟動Socks2HTTP,再啟動CuteFTP和OICQ等網路工具就可以穿越代理了。
需要注意的是,低版本的Socks2HTTP在使用OICQ時會導致Socks2HTTP出錯,0.86版本的已經解決了該問題。
2.本身不支持代理服務的網路工具
像Cterm和FoxMail這些本身不支持代理服務的網路工具,就得靠Socks2HTTP與SocksCap聯合使用了。現在就以FoxMail3.11為例說明
如何讓本身不支持代理服務的網路工具使用HTTP代理伺服器。
首先安裝好FoxMail、Socks2HTT和SocksCap,在SocksCap的網路設置中要把Socks代理的地址和埠設為本地地址:localhost:1080;
在Socks2HTTP的網路設置中填上你所使用的HTTP代理伺服器的地址和埠;把FoxMail的圖標拖到SocksCap的主窗口中,然後先啟動
Socks2HTTP,再通過SocksCap啟動FoxMail,就可以實現在只有HTTP代理伺服器的情況下使用FoxMail收發郵件了。