萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 手機 >  >> 手機應用 >> Android 教學

Android 手機修改 hosts 檔案教程:Root + RE 管理器實現域名重導向/廣告攔截/訪問受限網站

修改 /etc/hosts 可在本地建立域名解析對應,實現廣告攔截、開發測試、繞過 DNS 污染訪問特定服務。Android 將 hosts 放在 /system/etc/hosts,需 Root 權限修改。

前置準備

  • 手機已 Root(Magisk/KernelSU/SuperSU)。
  • 安裝 RE 文件管理器 或同類支援 Root 讀寫的檔案管理器(MT 管理器、NP 管理器、Termux + su)。

操作步驟

  1. 開啟 RE 管理器,點擊右上角 「掛載讀寫」(Mount R/W),按鈕文字變為「掛載只讀」表示成功。
  2. 進入目錄 /system/etc/,找到 hosts 檔案(無副檔名)。
  3. 長按 hosts → 選擇 「以文字編輯器開啟」。
  4. 編輯檔案內容,每行一條對應:IP地址 域名。常見用法:
# 格式:IP 域名 [別名...]
# 廣告/追蹤攔截(指向本機回環)
127.0.0.1  ads.google.com
127.0.0.1  analytics.google.com
0.0.0.0    pagead2.googlesyndication.com

# 開發測試:指向內網/測試伺服器
192.168.1.100  api.dev.myapp.com
10.0.0.5       test.backend.local

# 繞過 DNS 污染(需確認目標 IP 穩定)
142.250.190.46  www.google.com
  1. 儲存檔案(RE 管理器會提示覆蓋,確認)。
  2. 重啟手機或切換飛行模式刷新 DNS 快取,生效驗證:ping 域名 或瀏覽器訪問。

進階:免 Root 方案(Android 10+)

  • VPN 模式 hosts 攔截器:如 Personal DNS Filter、AdGuard (非 Root 模式)、RethinkDNS、NextDNS App。建立本地 VPN 介面攔截 DNS 請求並套用 hosts 規則,無需 Root。
  • 私人 DNS (DoT/DoH):設定 → 網路與網際網路 → 私人 DNS → 指定 dns.adguard.com、dns.nextdns.io 等支援攔截清單的 DoH 提供商。
  • Termux + su (Root 仍需):echo "127.0.0.1 bad.com" >> /system/etc/hosts。

常見問題與維護

問題原因解決
修改後不生效DNS 快取/瀏覽器快取/應用自有 DNS (DoH)清除瀏覽器快取、關閉應用 DoH、重啟手機、使用 VPN 模式工具
OTA 升級後失效/system 分區被覆蓋重新套用、使用 Magisk 模組「Hosts」實現開機自動注入
系統無法開機hosts 格式錯誤/關鍵系統域名被攔截進 Recovery 掛載 /system 刪除/恢復 hosts、或刷回 stock boot.img
部份 App 仍顯示廣告App 使用硬編碼 IP/DoH/憑證釘選需配合抓包分析、或使用模組化攔截(如 AdGuard 核心)

推薦維護策略

  • 訂閱維護良好的 hosts 清單專案:StevenBlack/hosts、yhosts、neohosts。
  • 使用 Magisk 模組「Hosts 更新器」 實現開機自動下載最新清單並寫入,免去手動維護。
  • 定期檢查 logcat 或抓包驗證攔截生效。

修改 hosts 是 Android 進階用戶的基礎技能,善用工具自動化維護,享受淨化後的網路環境。

copyright © 萬盛學電腦網 all rights reserved