HTTP 與 SOCKS、住宅型與資料中心——代理類型在路由方式與被偵測難易度上各不相同。一份釐清各種類型的清晰指南。
代理伺服器是一台介於你與網際網路之間的伺服器,它代你轉發請求,使網站看到的是代理的 IP 位址而非你的。但「代理」一詞涵蓋了好幾種截然不同的東西,沿兩個維度區分:它所使用的協定(HTTP 或 SOCKS),以及它給你的 IP 種類(住宅型、資料中心或行動)。這些選擇決定了代理能做什麼、以及網站偵測它有多容易。本指南會理清各種類型,以及各自在什麼時候重要。
核心要點
- 代理類型沿兩條彼此獨立的維度區分:協定(HTTP/HTTPS 用於網頁流量,SOCKS5 用於任何流量)與 IP 來源(資料中心、住宅型或行動)。
- HTTP 代理能理解並改寫網頁標頭;而 RFC 1928 所定義的 SOCKS5 與協定無關,並新增了驗證以及 UDP 支援。
- 資料中心 IP 最便宜、最快,但最容易被偵測;住宅型與行動 IP 看起來像真實的消費者連線,因此更難被封鎖。
- 多數代理不加密你的流量——一個純 HTTP 代理能看到你透過 HTTP 傳送的一切——所以當你需要加密時,代理無法取代 VPN。
- 沒有任何一種代理會自動封堵 WebRTC 或 DNS 洩漏,因此請務必查證你的連線究竟暴露了什麼。
什麼是代理伺服器(以及它與 VPN 的差異)
代理在應用層轉發流量,通常只服務於你設定使用它的單一應用程式或瀏覽器。VPN 則相反,它在作業系統層級加密並隧道傳輸你裝置的全部流量。實務上的差異:
- 範圍: 代理通常只路由一個應用程式;VPN 路由一切。
- 加密: VPN 一律加密隧道;許多代理則完全不加密。
- 設定: 代理按應用程式設定;VPN 則在整台裝置上運行。
如果你想要包含 Tor 在內的更廣泛比較,請見隱私保護工具大比拼:VPN、代理與 Tor。
代理協定:HTTP 與 SOCKS
協定決定了代理能理解何種流量。
HTTP/HTTPS 代理
HTTP 代理專門理解網頁流量。由於它運作在 HTTP 層,能讀取與修改標頭、快取內容並過濾請求——對網頁瀏覽與爬取很有用,但僅限於 HTTP(S) 流量。代理轉發請求時,通常會附加 Forwarded 標頭(RFC 7239)或較舊的 X-Forwarded-For,而這正是伺服器能區分轉發請求與直連請求的方式。HTTPS 代理(透過 HTTP CONNECT 方法)會隧道傳輸加密的 HTTPS,因此代理無法讀取內容,只能將其原樣轉送。
SOCKS 代理
SOCKS 代理運作在更低的層級,且與協定無關:它轉發任何種類的流量——網頁、電子郵件、P2P、遊戲流量——而不在乎裡頭裝的是什麼。SOCKS5 作為現行版本,由 RFC 1928 標準化,在 TCP 之外新增了使用者名稱/密碼驗證以及對 UDP 與 IPv6 的支援。SOCKS 代理比 HTTP 代理更靈活,但不提供快取或標頭操作等 HTTP 專屬功能。由於 SOCKS5 不理解 HTTP 標頭,它也從不注入任何轉發標頭——它所承載的內容對它而言是不透明的。
| HTTP/HTTPS 代理 | SOCKS5 代理 | |
|---|---|---|
| 流量類型 | 僅 HTTP(S) | 任何(網頁、P2P、電子郵件、UDP) |
| 能否讀取/修改標頭 | 能(HTTP) | 不能 |
| 是否加密你的流量 | 否(HTTPS 原樣穿過) | 否 |
| 典型用途 | 瀏覽、爬取、快取 | 靈活路由、各式應用 |
代理的匿名等級
HTTP 代理還可依其暴露你多少資訊來分類:
- 透明代理——在標頭中轉發你的真實 IP(例如
X-Forwarded-For);不提供任何匿名性,常用於快取或過濾。 - 匿名代理——隱藏你的真實 IP,但仍會表明自己是代理,通常透過傳送
Via標頭或一個代理專屬的Forwarded值來表明。 - 精英(高匿名)代理——隱藏你的 IP,且不宣告自己是代理,因此單從標頭最難被識破。
這些等級只描述代理在 HTTP 請求標頭中暴露了什麼,卻完全沒有說明該位址本身的 IP 信譽:一個位於被標記的資料中心 IP 區段上的「精英」代理,即便標頭看起來很乾淨,仍可輕易地按 IP 被封鎖。標頭層面的匿名性與 IP 層面的可信度是彼此獨立的問題,這也是為何下面的 IP 維度對規避偵測更為重要。
IP 維度:住宅型、資料中心與行動
這是對偵測影響最大的區別——在網站如何偵測 VPN 與代理伺服器中有深入說明。
- 資料中心代理使用主機代管公司擁有的 IP。它們快速又便宜,但 IP 區段登記在資料中心名下,因此是最容易被辨識與封鎖的類型。
- 住宅型代理透過 ISP 分配給住家的真實 IP 位址路由。由於看起來像普通的家庭連線,它們難偵測得多——相應地也更昂貴、更慢。
- 行動代理使用行動電信業者的 IP。電信級 NAT 意味著眾多真實使用者共用這些 IP,因此封鎖其中一個就有封鎖大量正當使用者的風險,這使得行動 IP 成為最難封鎖的類型。
| 代理 IP 類型 | 可偵測性 | 速度 | 成本 |
|---|---|---|---|
| 資料中心 | 容易偵測 | 快 | 低 |
| 住宅型 | 難偵測 | 中等 | 高 |
| 行動 | 最難偵測 | 不定 | 最高 |
還有第四類,ISP 代理(有時稱為靜態住宅代理),介於上述之間:其 IP 託管在資料中心,卻登記在消費者 ISP 名下,因此既具備資料中心級的速度與穩定性,又帶有住宅網路的可信信號——而價格則高於普通的資料中心代理。
哪種工作該用哪種代理
合適的組合取決於任務,而非取決於哪種類型「最好」:
- 一般瀏覽或對單一網站隱藏 IP——資料中心 HTTP 代理既便宜又快,被偵測與否通常無關緊要。
- 大規模網頁爬取——住宅型代理可避開資料中心 IP 區段會落入的黑名單;輪換位址以把請求分散到眾多 IP 上。
- 存取嚴格、對詐騙敏感的服務(球鞋搶購、廣告核驗、僅限行動的平台)——用行動或 ISP 代理,因為它們的 IP 最難在不誤傷他人的情況下被標記。
- 非網頁流量(遊戲用戶端、種子下載、郵件、自訂協定)——用 SOCKS5 代理,因為 HTTP 代理只處理 HTTP(S)。
- 在每個應用程式上都兼顧隱私與加密——根本不要用代理;應當用 VPN,因為代理是按應用程式設定且通常不加密的。
正向代理與反向代理
還有一項區別:正向代理代表用戶端(你)行事,把你的請求向外轉發到網路——以上所談的全屬此類。反向代理則代表伺服器行事,置於網站前方以進行負載平衡、快取並屏蔽源伺服器(CDN 就是反向代理)。當人們說為了隱私「用個代理」時,指的是正向代理。
關於安全的提醒
許多代理不加密你的流量,因此一個純 HTTP 代理能看到——而惡意的代理還能記錄或竄改——你透過 HTTP 傳送的一切。這裡 HTTPS 給你的保護來自你的瀏覽器與目的地之間的 TLS,而非來自代理:使用 CONNECT 隧道時,代理只能看到目標主機與加密後的位元組,但一個攔截 TLS 的透明或設定不當的代理會破壞這項保證。免費的公共代理尤其危險,正是因為你無法稽核它們如何處理所中轉的流量。如果你需要在所有應用程式上同時兼顧隱私與加密,VPN 通常是更好的工具;而當你需要把特定流量透過特定 IP 路由時,代理最為合適。無論如何,請用 VPN/代理檢測 確認你的連線實際暴露了什麼,並留意可能洩露你真實解析器的 DNS 洩漏。
常見問題
代理和 VPN 有什麼差別?
代理為單一應用程式轉發流量,且通常不加密;VPN 則在作業系統層級加密並隧道傳輸你裝置的全部流量。要把特定流量透過選定的 IP 路由時用代理,而想要整台裝置的隱私與加密時則用 VPN。
哪種代理類型最難偵測?
行動代理最難,其次是住宅型代理,因為兩者都使用屬於真實消費者連線、且由眾多人共用的 IP。資料中心代理最容易偵測,因為其 IP 區段登記在主機代管商名下並出現在封鎖清單上。
SOCKS5 比 HTTP 代理好嗎?
這要看用途。SOCKS5 更靈活——它能處理任何流量類型並支援 UDP——而 HTTP 代理則能快取並操作網頁請求。兩者本身都不加密你的流量,因此純網頁的任務用 HTTP 代理就夠了,而各式或非網頁的流量則 SOCKS5 更合適。
代理能完全隱藏我的 IP 嗎?
只在其類型與設定允許的範圍內。透明代理會在標頭中洩露你的真實 IP,而即便是精英代理也擋不住 WebRTC 或 DNS 洩漏。請用 VPN/代理檢測 實測你究竟暴露了什麼,而不要想當然耳地以為代理隱藏了一切。
結語
「代理」橫跨兩項彼此獨立的選擇:協定(HTTP 提供網頁專屬功能,SOCKS5 提供靈活性)與 IP 類型(資料中心提供廉價速度,住宅型與行動則用於規避偵測)。再疊上匿名等級以及正向與反向之分,你就能為手頭的任務挑選合適的工具——同時記住,多數代理並不加密,而且沒有任何一種能自動封堵 WebRTC 或 DNS 洩漏。
推薦閱讀: