如何判斷我的 ISP 是否正在重新導向我的 DNS 查詢?

如何判斷我的 ISP 是否正在重新導向我的 DNS 查詢?

我嘗試使用一些 DNS 服務(例如 OpenDNS),但無論我做什麼,DNS 查詢都不會傳回預期結果。觀察防火牆上的封包流量,我可以看到查詢發送到預期的 DNS 伺服器位址並回傳回應,但結果並不符合預期,例如,OpenDNS 測試頁面總是失敗,即使請求看起來像是去他們的伺服器。

我懷疑我的 ISP 正在攔截 DNS 查詢並將其發送到自己的伺服器。有沒有辦法驗證這一點?我可能還缺其他東西嗎?我正在使用 Sprint 的 3G 無線服務。

答案1

打電話給他們問問?

來自一個OpenDNS 論壇上的帖子(2010 年 2 月):

我今天與斯普林特進行了交談。

這是與我通電話的人告訴我的。

“是的,sprint 正在連接埠 53 上重定向 DNS”(顯然我們在 opendns 知道這一點)“是的,即使對於靜態帳戶也是如此”

根據鏈接,顯然您的 Sprint 設備可能有韌體升級,允許使用 OpenDNS來自 Sprint 的 PDF在同一則訊息中。

答案2

有多種方法可以檢查您的 ISP 是否使用透明 DNS 代理。這取決於您的 ISP 如何實施它。我的 ISP 將所有連接埠 53 請求重新導向到他們自己的遞歸 DNS 伺服器(不過他們不在 NXDOMAIN 上提供廣告。也許他們使用它來記錄日誌或防止 DNS 隧道)。我將提到一些通用的檢測方法。

  1. 最簡單的方法是使用內塔利茲爾Android 應用程式或名稱庫谷歌的Windows軟體。如果您的 ISP 使用 DNS 代理,他們會通知您。您不需要任何技術知識。

名台截圖

  1. 對權威名稱伺服器執行 DNS 查找並檢查回覆是否權威。對於這個例子,我將使用dig.你也可以使用nslookup。如果回復是權威的,dig會aa在回復中顯示flag。現在,a.ns.facebook.com是fb.me的權威NS。如果您的 ISP 攔截並重新導向該請求,您將不會得到權威回應。

    dig @a.ns.facebook.com fb.me(左一不攔截DNS)

挖權威NS

  1. dig執行或時,指定一個沒有執行 DNS 伺服器的 IP 位址作為 DNS 伺服器nslookup。如果您的 ISP 攔截您的請求,您仍然會收到回覆。否則你會得到Time Out. (右一攔截並重定向請求)

使用錯誤的伺服器進行挖掘

  1. 對隨機 IP 位址使用 nmap。如果您的 ISP 重定向所有連接埠 53 請求,您將始終看到連接埠 53 處於開啟狀態。

  2. 變更您的電腦網路設定並使用 Google 公用 DNS 或 OpenDNS 或 Cloudflare DNS IP(一次使用一種提供者類型)。然後去DNS 洩漏測試網站並注意是否出現任何不同的提供者。

繞過 ISP 攔截並不難。你需要使用DNS加密/DNS over TLS 或使用在非標準連接埠(例如:5353 或 443)上執行的任何 DNS 伺服器。在第二種方法中,您必須使用路由器或電腦防火牆將傳出 DNS 查詢重新導向至這些連接埠。詳細討論這些方法超出了本文的範圍。

答案3

嘗試對您認為將發送給不同提供者(例如 OpenDNS 和 Google)的一些 DNS 請求進行計時。如果它們相同,則它們一定是由 ISP 接收並提供服務(邏輯錯誤,但有可能)。實現此目的的一種方法是使用名稱庫,通常用於為您的連線選擇最佳的 DNS 伺服器。

相關內容