天天看點

代理伺服器工作原理

 (1) 代理服務原理

代理伺服器有很多種,大體來說有http,ftp,socks代理三種,其中又分透明代理和不透明代理。其中透明代理一般是網關,是硬體。是以這裡讨論不透明代理。

當機器通過代理伺服器上網時。通訊是分兩次的,先是機器和代理伺服器通訊,再是代理伺服器和目的位址通訊。

機器和代理伺服器通訊時,目的IP是代理伺服器的IP。代理伺服器和目的位址通訊時,源IP是代理伺服器的IP,當外部的資料也是一樣的,在内網中,出現的IP資料,全是内網和代理伺服器的IP。是以,從IP標頭是看不出任何與外面通訊的資訊的。隻有從資料中才能看到。

例如,用http代理上網。

過程是

機器和代理伺服器建立TCP連接配接。

機器發出GET指令。這時GET指令中包含URL或IP位址,明文。

代理伺服器将其中的URL轉換為IP位址,可能會有DNS。将源資料包中的資料拷貝下來。去掉URL,重新組包,再發出去。

我們需要解析第一個GET包。

現在來看幾種代理方式。

http (get)

http (connect)

ftp (user [email protected]:port)

ftp (user [email protected] port)

ftp (open host)

ftp (site host)

ftp (site [email protected])

socks5

socks4

這些代理方式都有一個特點。就是在連接配接時,都會先和代理伺服器連接配接,送出請求,一般為 command url,command就是get,connect,user 等。http和ftp都一樣,可以通過關鍵字來識别。而且url是明文。Socks有些特别。它不是明文的,而是十六進制資料。要獲得IP位址,還要經過轉換。

(2) 目前的代理服務技術

代理服務技術是在一台PC機上安裝一套代理軟體,主要用于使用者對Internet資源的通路。

ICS即Internet連接配接共享(Internet Connection Sharing)的英文簡稱,是Windows系統針對家庭網絡或小型的Intranet網絡提供的一種Internet連接配接共享服務。它實際上相當于一種網絡位址轉換器,所謂網絡位址轉換器就是當資料包向前傳遞的過程中,可以轉換資料包中的IP位址和TCP/UCP端口等位址資訊。有了網絡位址轉換器,家庭網絡或小型的辦公網絡中的電腦就可以使用私有位址,并且通過網絡位址轉換器将私有位址轉換成ISP配置設定的單一的公用IP位址進而實作對Internet的連接配接。ICS方式也稱之為Internet轉換連接配接。

軟體:Wingate,、Winproxy

NAT即網絡位址轉換(Network Address Translator),從廣義上講,ICS也是使用了一種NAT技術,不過我們這裡讨論的NAT是指将運作Windows 2000 Server的計算機作為IP路由器,通過它在區域網路和Internet主機間轉發資料包進而實作Internet的共享。NAT方式也稱之為Internet的路由連接配接。網絡位址轉換NAT通過将專用内部位址轉換為公共外部位址,對外隐藏了内部管理的IP位址。這樣,通過在内部使用非注冊的IP位址,并将它們轉換為一小部分外部注冊的IP 位址,進而減少了IP 位址注冊的費用。同時,這也隐藏了内部網絡結構,進而降低了内部網絡受到攻擊的風險。

軟體:WinRoute、Sygate

(3) 代理資料變代

非透明代理:

上網主機向代理送出TCP連接配接請求:源ip(上網主機)目标ip(代理伺服器)

00000000: 45 00 01 9E 64 CE 40 00 80 06 17 C0 C0 A8 FD 91 [email protected]

00000010: C0 A8 FD E8 12 47 04 38 FB 32 8B 56 7E 55 57 EA .....G.8.2.V~UW.

00000020: 50 18 44 70 1B EC 00 00 47 45 54 20 68 74 74 70 P.Dp....GET http

00000030: 3A 2F 2F 77 77 77 2E 63 63 74 76 2E 63 6F 6D 2E :// http://www.haozs.net./

00000040: 63 6E 2F 20 48 54 54 50 2F 31 2E 30 0D 0A 41 63 cn/ HTTP/1.0..Ac

00000050: 63 65 70 74 3A 20 69 6D 61 67 65 2F 67 69 66 2C cept: image/gif,

00000060: 20 69 6D 61 67 65 2F 78 2D 78 62 69 74 6D 61 70 image/x-xbitmap

00000070: 2C 20 69 6D 61 67 65 2F 6A 70 65 67 2C 20 69 6D , image/jpeg, im

00000080: 61 67 65 2F 70 6A 70 65 67 2C 20 61 70 70 6C 69 age/pjpeg, appli

00000090: 63 61 74 69 6F 6E 2F 76 6E 64 2E 6D 73 2D 65 78 cation/vnd.ms-ex

000000a0: 63 65 6C 2C 20 61 70 70 6C 69 63 61 74 69 6F 6E cel, application

000000b0: 2F 76 6E 64 2E 6D 73 2D 70 6F 77 65 72 70 6F 69 /vnd.ms-powerpoi

000000c0: 6E 74 2C 20 61 70 70 6C 69 63 61 74 69 6F 6E 2F nt, application/

000000d0: 6D 73 77 6F 72 64 2C 20 61 70 70 6C 69 63 61 74 msword, applicat

000000e0: 69 6F 6E 2F 78 2D 73 68 6F 63 6B 77 61 76 65 2D ion/x-shockwave-

000000f0: 66 6C 61 73 68 2C 20 2A 2F 2A 0D 0A 41 63 63 65 flash, **..Accept-Lan

000000f0: 67 75 61 67 65 3A 20 7A 68 2D 63 6E 0D 0A 55 73 guage: zh-cn..Us

00000100: 65 72 2D 41 67 65 6E 74 3A 20 4D 6F 7A 69 6C 6C er-Agent: Mozill

00000110: 61 2F 34 2E 30 20 28 63 6F 6D 70 61 74 69 62 6C a/4.0 (compatibl

00000120: 65 3B 20 4D 53 49 45 20 36 2E 30 3B 20 57 69 6E e; MSIE 6.0; Win

00000130: 64 6F 77 73 20 4E 54 20 35 2E 32 3B 20 2E 4E 45 dows NT 5.2; .NE

00000140: 54 20 43 4C 52 20 31 2E 31 2E 34 33 32 32 29 0D T CLR 1.1.4322).

00000150: 0A 48 6F 73 74 3A 20 77 77 77 2E 63 63 74 76 2E .Host: cctv.

00000160: 63 6F 6D 2E 63 6E 0D 0A 50 72 6F 78 79 2D 43 6F com.cn..Proxy-Co

00000170: 6E 6E 65 63 74 69 6F 6E 3A 20 4B 65 65 70 2D 41 nnection: Keep-A

00000180: 6C 69 76 65 0D 0A 0D 0A FD 00 00 00 00 00 00 00 live............

通過非透明代理上網,上網主機向代理送出連接配接請求。在請求包裡,包含了真正目标的URL,通過代理轉交。

ftp代理

代理伺服器是明文

..]ZY...][email protected]@[email protected][.....P....l..USER [email protected]

http代理

http代理是明文

..]ZY...][email protected]@...y..........J.8.*[email protected] http://www.haozs.net/ HTTP/1.0..Accept: **..Content-Type: text/html..Proxy-Connection: Keep-Alive..Content-length: 0................

qq socks5代理

當qq使用socks5代理的時候,不是明文,是資料

CA 60 AA A5

202.96.170.165:8000