
有許多服務(例如“unblock-us.com”)可以使用來自其他國家的地理限制服務。設定始終相同:只需替換 DNS 即可。
我的問題是:它是如何運作的?
對於 HTTP 流量,這非常簡單 - DNS 必須傳回位於正確地理區域的某個伺服器的 IP,接受 HTTP 請求,並將它們轉送到從 HOST 標頭得知的伺服器。
對於 HTTPS 流量 - HTTP 流量透過 SSL 發送,因此理論上任何代理只能看到有人發送了目的地未知的加密資料塊。它是如何運作的?
答案1
智慧DNS服務不需要關心實際的請求內容。它只是按原樣重定向整個連接。當然,這需要重定向網域名稱和IP位址之間是1:1的映射。
如果您想訪問netflix.com
,智慧型 DNS 伺服器會「偽造」回應並引導您訪問,例如,1.2.3.4
。該伺服器位於美國,旨在欺騙 Netflix。它只是在實際伺服器和您的 PC 之間進行調解時交換流量上的一些標頭netflix.com
。對於 Netflix,看起來它正在與 進行通信1.2.3.4
。
伺服器知道當 的流量到達時1.2.3.4
,它是針對 Netflix 的。1.2.3.5
Youtube可能還有另一個地址。
答案2
大多數現代軟體都能夠透過將代理程式配置為中間人來解密和重新加密 SSL 流量。這樣,SSL/TLS 憑證信任鏈確實被破壞了,但更加複雜,因此使用者甚至不知道它已經被破壞。
就我而言,我曾經Squid3
為透明代理進行類似的配置,並且有一個名為“ Squid-in-the-middle SSL Bump
which inresume”的功能可以執行此操作。這(正如您將在本中看到的關聯)會帶來一些道德甚至法律問題,因為它可能是非法的,這取決於您居住的國家。但是,請記住,當代理程式產生動態憑證時,無論如何使用者都必須接受它。
有一個非常好的連結深入描述了這一點並且很容易閱讀,所以我希望它可以幫助您了解這些透明代理是如何完成的。