全部產品
Search
文件中心

HTTPDNS:劫持類比驗證

更新時間:Nov 07, 2025

在完成Android SDK接入流程後,您可以通過類比 Local DNS 異常的方式,驗證 HTTPDNS 是否已成功生效。本文將提供具體的測試方法與步驟。

驗證原理

HTTPDNS 通過 HTTP 或 HTTPS 協議直接向阿里雲 DNS 伺服器發起解析請求,繞過系統 Local DNS,避免因網路環境導致的劫持或解析失敗。
在行動裝置上,Local DNS 通常由當前網路提供:Wi‑Fi 串連時使用路由器或電訊廠商配置的 DNS,移動資料則使用電訊廠商的 DNS。以 Wi-Fi 環境為例,修改 Wi‑Fi DNS 相當於直接改變 Local DNS 的工作狀態,將 Wi‑Fi DNS 設定為無效地址,可製造 Local DNS 解析失敗的環境。在劫持類比的環境下發起網路請求時:

  • 請求成功:已繞過 Local DNS,HTTPDNS 接入成功

  • 請求失敗:依賴 Local DNS,HTTPDNS 接入失敗

測試準備

  • 測試裝置:安卓手機,支援手動修改 Wi‑Fi DNS

  • 網路環境:可串連 Wi‑Fi,並可手動修改其 DNS 地址

  • App 狀態:已整合 EMAS HTTPDNS SDK

  • 測試網域名稱:已在阿里雲 HTTPDNS 控制台配置並使用的業務網域名稱

測試步驟

步驟 1:正常網路驗證

  1. 將測試裝置串連至任意可用 Wi‑Fi 網路,保持預設 DNS 設定。

    image

  2. 在關閉 HTTPDNS 的情況下,開啟 App,觸發任意一個通過網域名稱訪問的網路請求(如首頁載入、介面調用)。

  3. 確認請求返回正常。

說明

此步驟用於建立對比基準,確保 App 和服務在正常網路環境下工作正常

步驟 2:類比 Local DNS 解析異常

  1. 開啟測試裝置的 Wi‑Fi 設定,長按當前已串連的 Wi‑Fi,選擇“修改網路”或“進階選項”。

  2. 將 IP 設定更改為“靜態”。

  3. 在 DNS 1 和 DNS 2 欄位輸入無效的 IP 位址,例如 1.2.3.4 或 100.100.100.100,確保 Local DNS 無法解析網域名稱。

    說明

    注意:避免使用 114.114.114.114、8.8.8.8 等有效公用 DNS

    image

  4. 儲存配置並重新串連該 Wi‑Fi 網路。

步驟 3:在“劫持”環境下進行驗證

  1. 確認裝置已串連步驟 2 中修改過的 Wi‑Fi(DNS 為無效地址)。

  2. 關閉移動資料連線,避免 Wi‑Fi 不可用時系統自動切換到移動網路。

  3. 開啟 HTTPDNS,開啟 App,觸發與步驟 1 相同的業務請求(例如首頁載入或介面調用)。

  4. 觀察請求結果:

    請求結果

    結論

    樣本

    網路請求成功

    已繞過 Local DNS,網域名稱解析由 HTTPDNS 完成,說明HTTPDNS 接入成功

    image

    網路請求失敗

    • 首次請求失敗,可能存在緩衝缺失降級到 Local DNS 的情況,稍等後重試

    • 若多次請求仍失敗,說明仍依賴 Local DNS,解析在“劫持”環境下失敗,HTTPDNS 接入失敗

    image

    說明

    在使用同步非阻塞介面進行網域名稱解析時,建議開啟預解析setPreResolveHosts和允許到期介面setEnableExpiredIp,以確保本機快取中有可用解析結果,避免因緩衝缺失而回退到 Local DNS,從而影響驗證準確性。