2012-11-28 61 views
5

我正在嘗試記錄DNS「泄漏」,換句話說,訪問者用於我的網站的DNS服務器。捕獲DNS泄漏

如何找出哪個DNS服務器的Web請求來自我的服務器(即越來越DNS泄漏)。這個網站dnsleaktest.com這樣做,它知道我來自哪個DNS服務器?怎麼樣?它應該只能知道一些關於我的瀏覽器的統計信息,也許可以是HTTP引用程序。它如何知道我的DNS服務器?

什麼被利用,使用?或者從我的瀏覽器到這臺服務器的流量是什麼,並且在那個流量中dnsleaktest能夠獲得這些信息的位置?

+0

我不認爲這是可能的,也許他們是自己的DNS服務器,只是做一個IP匹配(他們可能有多個IP匹配請求)? – boruch

+0

哪個網站做到了? – eh9

+0

由於某些原因,網址未顯示在原始帖子中。該網站http://www.dnsleaktest.com/做到了。他們是如何做到的呢? – revi

回答

5

這並不容易。

什麼dnsleaks 可能那樣 - 他們有自己的權威DNS服務器,在其網站上的JavaScript查詢其域的各種隨機生成的子域,以及他們的DNS服務器上他們監測,其中要求這些隨機產生的子域來自。

要做到這一點,你需要一些域名託管在你自己的DNS服務器(不是由你的註冊商​​或託管服務提供商提供的服務器)上。您需要監視對此服務器的查詢 - 如果您解析DNS服務器日誌或擁有自己的DNS服務器軟件,或者您的DNS服務器提供了一些API掛鉤以查看傳入請求,則可以完成此操作。然後你爲你的網站編寫一個查詢各個子域的腳本,並告訴你網站上的服務器端腳本應該監視哪個子域請求。服務器端腳本依次與DNS服務器通話。

以上所有內容都是未經驗證的猜測。我認爲沒有其他辦法可以做到。

+0

謝謝@ Sandman4讓我更接近理解這一點!一些問題 - 當你說他們查詢「隨機生成的子域」時,這些域的DNS信息不得不在互聯網上的各種DNS服務器上覆制,而且它們無法控制解析該域或子域的確切服務器,域?如果是這樣,他們如何保證我的DNS請求將從我的DNS服務器到達他們? – revi

+0

如果您擁有一個名爲dnsleaktest.com的域名,那麼對'laiuwerhflkjsfn.dnsleaktest.com'的查詢將被髮送到__dnsleaktest.com__ DNS服務器之一。之後,其他DNS服務器可能會緩存結果,因此後續查詢可能無法到達dnsleaktest.com服務器,這就是爲什麼我假設他們爲每個測試查詢新的唯一子域。 – Sandman4

+0

太棒了!所有的作品似乎都適合,我明白他們可能是如何做到這一點的。謝謝! – revi