hosts 檔案是 Windows 系統中無需 DNS 解析即可將主機名稱對應到 IP 位址的本機查詢表。善用它可實現指定網站 IP、封鎖惡意/廣告網站、加速特定網域存取等功能。本文以 Win7 為例(XP/8/10/11 操作相同),詳細說明位置、編輯方法與實用範例。
C:\Windows\System32\drivers\etc\hosts
註:若系統安裝在非 C 槽,請將路徑中的 C: 替換為實際系統磁碟代號。
C:\Windows\System32\drivers\etc 按 Enter 直接開啟資料夾。hosts 檔案(無副檔名),右鍵 → 「開啟方式」 → 選擇「記事本」(建議勾選「永遠使用這個應用程式開啟 .hosts 檔案」)。hosts 編輯並儲存。IP位址 主機名稱 # 選擇性註解
# 開頭為註解不生效。ipconfig /flushdns)才能立即生效。119.188.139.154 www.example.com
執行 ping www.example.com 即可驗證是否解析至指定 IP。此技巧常用於存取被 DNS 汙染的海外服務(需自行取得可用 IP)。
127.0.0.1 ads.example.com
127.0.0.1 tracker.analytics.com
將廣告、追蹤、惡意網域導向 127.0.0.1(本機),瀏覽器請求即會失敗,達到去廣告、防追蹤效果。可搭配公開維護的 hosts 清單(如 StevenBlack/hosts GitHub 專案)批次匯入。
| 問題 | 解決方法 |
|---|---|
| 儲存提示「存取被拒絕」 | 以系統管理員身分執行記事本編輯,或將 hosts 複製到桌面編輯後複製回覆蓋(需管理員權限)。 |
| 修改不生效 | 執行 ipconfig /flushdns 清除 DNS 快取;檢查瀏覽器是否啟用「安全 DNS (DoH)」,若啟用請關閉或在瀏覽器層面設定 hosts 覆寫。 |
| 編碼問題導致亂碼 | 記事本儲存時編碼選「ANSI」或「UTF-8」(無 BOM),避免使用 Unicode/UTF-16。 |