Windows hosts 檔案教學

Windows hosts 檔案教學

廣告 內容目錄 顯示 1 ⚡ 本文重點 2 📌 快速答案 3 🧰 開始前的準備 4 🔍 為什麼你需要這個? 5 🧭 hosts 與 DNS 誰先誰後? 6 📂 檔案位置與編輯權限 7 🛠️ 實戰步驟 7.1 步驟一:把原本的 hosts 改名留作備份 7.2 步驟二:用記事本編輯桌面上的 hosts 7.3 步驟三:存成沒有副檔名的 hosts,放回 etc 資料夾 7.4 步驟四:清除 DNS 快取 7.5 步驟五:驗證結果 8 🧪 封鎖與測試站台實作 9 🩺 改了 hosts 沒生效時依序檢查 10 🔙 萬一翻車:回退步驟 10.1 情境一:改完後某個網站打不開 10.2 情境二:沒有備份,或想回到出廠內容 11 💡 總結:進階玩法與底層邏輯 12 ❓ 常見問題 13 🔗 延伸閱讀 14 📎 參考資料來源 ⚡ 本文重點文章屬性:教學實戰(系統檔案編輯與名稱解析)適用系統:Windows 11、Windows 10(Microsoft 支援文件的 hosts 還原步驟涵蓋這兩版)難易度 / 耗時:★★☆ / 約 10 到 15 分鐘核心結論:hosts 的對應只影響這台電腦,不會動到網域本身的 DNS 設定,其他人仍走 DNS適用對象:想封鎖網站,或在 DNS 切換前先連新主機測試的人📌 快速答案一句話答案:Windows hosts 檔案位於 C:\Windows\System32\drivers\etc,Windows 解析網址時依序查快取、hosts、DNS 伺服器,hosts 有對應就不問 DNS,改完先清除 DNS 快取再測試。

– 編輯方式參考 Microsoft 先在桌面存檔、再放回 etc 的做法:複製一份到桌面改,存成沒有副檔名的 hosts,再放回 etc 資料夾(要系統管理員權限)

– 封鎖網站的常見寫法是 0.0.0.0 網域(Microsoft 上述文件沒有寫到這種用法),測試新主機寫 新主機IP 網域,每列一筆,www 與不帶 www 要各寫一列

– 驗證用 PowerShell 的 Resolve-DnsName,nslookup 只問 DNS 伺服器,看不到 hosts 的結果

🧰 開始前的準備系統需求:Windows 11 或 Windows 10;Microsoft 支援文件〈How to reset the Hosts file back to the default〉的步驟涵蓋這兩版權限需求:要能以系統管理員身分把檔案放進 C:\Windows\System32\drivers\etc;Microsoft 文件寫明,放回時若跳出要求系統管理員密碼的視窗,選「繼續」需要工具:Windows 內建的記事本、命令提示字元或 PowerShell先做備份:步驟一會把原本的 hosts 改名成 hosts.old 留著,出錯時改回來即可預計耗時:約 10 到 15 分鐘難度門檻:會在檔案總管切換「顯示副檔名」、會開 PowerShell 打一行指令就能完成停止條件(符合任一請先別改):公司或學校管理的電腦且沒有 IT 授權;不確定自己要對應的 IP 是否正確(先向主機商或網站管理者確認再寫入)🔍 為什麼你需要這個?Windows hosts 檔案是一份純文字對照表,讓你在自己這台電腦上指定「某個網域要連到哪個 IP」,優先於 DNS 伺服器的答案。 Microsoft 支援文件把它定義為作業系統用來把好記的主機名稱(例如 contoso.com)對應到數字 IP 位址的純文字系統檔。

最常見的兩種用途:一是封鎖網站,把網域指到連不出去的位址;二是網站搬家或換主機時,DNS 還沒切過去,先讓自己的電腦連到新主機確認網站正常。兩種都只影響你這台電腦,不會動到網域本身的 DNS 設定。

反過來說,hosts 被改錯或被不明程式寫入時,會出現「只有這台電腦打不開某網站」的怪現象。Microsoft 提供 hosts 還原步驟的理由,就是 hosts 偏離預設內容時會蓋過正常的名稱解析、造成連線問題。所以學會怎麼改,也等於學會怎麼查。

🧭 hosts 與 DNS 誰先誰後?Windows 的 DNS 用戶端解析名稱時,先查快取,再查 hosts 檔案,最後才把查詢送到 DNS 伺服器。 這是 Microsoft Learn〈Troubleshoot DNS client name resolution issues〉列出的順序;同一篇文件的範例中,hosts 已有 contoso.com 的對應時,DNS 用戶端服務就不會去問 DNS 伺服器,封包擷取工具也看不到任何查詢流量。

照這個順序,改完 hosts 要先清快取,驗證也要選看得到 hosts 的工具。

快取排在第一位:ipconfig 文件說明,DNS 用戶端解析器快取同時包含從 hosts 預先載入的項目,以及最近查詢取得的紀錄。剛改完 hosts 時,快取裡若還留著先前從 DNS 查到的舊答案,就可能先被用上,所以改完要用 ipconfig /flushdns 清除快取測試工具要選對:Resolve-DnsName 有一個 -NoHostsFile 參數專門用來略過 hosts,代表預設會把 hosts 算進去;nslookup 則依 Microsoft 文件只聯絡設定中的主要 DNS 伺服器,看不到 hosts 的對應本機名稱 localhost 也不靠 hosts。Microsoft 提供的預設 hosts 內容寫明 localhost 的名稱解析由 DNS 本身處理,127.0.0.1 與 ::1 兩列預設都是加了 # 的註解。localhost 為什麼代表自己,可以看 127.0.0.1 為什麼代表自己?localhost 背後的 Loopback 原理。

廣告📂 檔案位置與編輯權限hosts 檔案的完整路徑是 C:\Windows\System32\drivers\etc\hosts,檔名就是 hosts,沒有副檔名。 Microsoft Learn 的 DNS 疑難排解文件以 C:\Windows\System32\drivers\etc 作為 hosts 所在位置,Microsoft 支援文件則寫明 hosts 檔案不能有副檔名。

格式規則都寫在預設 hosts 的註解裡:每筆對應單獨一列,IP 位址放第一欄,後面接主機名稱,兩者之間至少隔一個空格;以 # 開頭的內容是註解,可以自成一列,也可以寫在主機名稱後面。

權限是最常卡關的地方。這個資料夾位於系統目錄,把改好的檔案放回去時 Windows 會要求系統管理員權限。下面的步驟參考 Microsoft 支援文件先在桌面存檔、再放回 etc 的做法:在桌面編輯一份,再整份放回,避免直接在系統資料夾裡存檔失敗。

🛠️ 實戰步驟⚠️ 動手前:hosts 是系統檔案,改錯會讓特定網站在這台電腦連不上。步驟一會留下 hosts.old 備份;公司或學校管理的電腦,先取得 IT 同意再改。

步驟一:把原本的 hosts 改名留作備份第一次修改前,先在檔案總管的「檢視」選單開啟顯示副檔名,再前往 C:\Windows\System32\drivers\etc,把 hosts 複製一份到桌面,然後把資料夾裡原本的 hosts 改名為 hosts.old。 開啟顯示副檔名,才看得出檔名後面有沒有多出 .txt。改名時若跳出權限確認視窗,依畫面允許即可。

Microsoft 支援文件還原 hosts 時,同樣是先把現有的 hosts 改名為 hosts.old,改名後的 hosts.old 就是你的備份。之後再改時,只要把 etc 裡的 hosts 複製到桌面編輯,不要再改名,保留第一次的 hosts.old。

步驟二:用記事本編輯桌面上的 hosts開啟記事本,選 檔案 → 開啟,把檔案類型切到「所有檔案」,打開桌面上的 hosts。 依照預設註解的格式,在最下面新增你的對應,一筆一列。同一個網域只保留一種用途,下面兩個範例依用途二選一,封鎖與測試不要同時寫。每列只對應一個主機名稱,www.example.com 與 example.com 是兩個不同的名稱,要各寫一列。

廣告範例 A(封鎖網站):

0.0.0.0 www.example.com

0.0.0.0 example.com範例 B(測試新主機,IP 改成你主機的實際位址):

192.0.2.10 www.example.com

192.0.2.10 example.com步驟三:存成沒有副檔名的 hosts,放回 etc 資料夾**在記事本選 另存新檔,存檔類型選「所有檔案 (\*.\*)」,檔名輸入含引號的 “hosts”,存到桌面。** Microsoft 文件說明加引號與選所有檔案的原因,是 hosts 不能有副檔名;沒這樣做,記事本會存成 hosts.txt,Windows 不會讀它。

接著把桌面上的 hosts 複製或移動到 C:\Windows\System32\drivers\etc。跳出要求系統管理員密碼的視窗時,選「繼續」。

步驟四:清除 DNS 快取開啟命令提示字元或 PowerShell,執行下面這一行。 ipconfig 文件說明 /flushdns 會清除並重設 DNS 用戶端解析器快取。

ipconfig /flushdns💡 為什麼要這樣做? 解析順序是快取在前、hosts 在後。改 hosts 之前若已經連過這個網域,快取裡會留著 DNS 伺服器給的舊答案,清掉之後下一次查詢才會照新的順序走到 hosts。

步驟五:驗證結果在 PowerShell 執行 Resolve-DnsName,看回傳的 IPAddress 是不是你寫進 hosts 的位址。

廣告Resolve-DnsName www.example.comMicrosoft Learn 的範例中,hosts 已有對應時,Resolve-DnsName 回傳的就是 hosts 寫的 IP。另外可以執行 ipconfig /displaydns,依 ipconfig 文件,這份清單包含從 hosts 預先載入的項目。

回傳的是你寫的 IP:hosts 已生效,接著開瀏覽器測試回傳的仍是原本的 IP:回到下方「改了 hosts 沒生效時依序檢查」一節🧪 封鎖與測試站台實作封鎖網站的常見做法是把網域對應到 0.0.0.0(Microsoft 上述文件沒有寫到這種用法),測試新主機時把網域對應到新主機的 IP,兩種都只改變這台電腦的解析結果。 兩種寫法用的是同一套格式,差在右邊填的位址。

用途hosts 寫法效果封鎖網站0.0.0.0 www.example.com常見做法,這台電腦連該網域時連不到正常網站測試新主機新主機IP www.example.com這台電腦先連新主機,其他人仍走 DNS還原刪掉該列或在行首加 #回到由 DNS 伺服器回答封鎖與測試都要把 www 與不帶 www 的網域各寫一列測試完一定要把那一列刪掉或加 # 註解,否則 DNS 切換後你這台電腦還會連舊位址加 # 註解是暫停而不刪除的寫法,之後要再測只要拿掉 #0.0.0.0 與 127.0.0.1 的差別,可以看 0.0.0.0 跟 127.0.0.1 有什麼不同?架 Server 最常搞錯的兩個位址🩺 改了 hosts 沒生效時依序檢查改了沒生效時,先確認檔名與位置,再清快取,最後用 Resolve-DnsName 判斷問題在系統還是在瀏覽器。

檔名多了 .txt 或放錯位置:開啟顯示副檔名,確認 etc 資料夾裡的檔名就是 hosts,沒有 .txt;有的話照步驟三重新存檔放回快取還留著舊答案:重跑 ipconfig /flushdnsResolve-DnsName 仍回傳原本的 IP:回步驟二檢查那一列,IP 要在第一欄、IP 與網域之間要有空格、行首不能有 #Resolve-DnsName 已是新 IP,瀏覽器卻還連到原站:完整關閉瀏覽器再開;仍不符時,看網址列實際連的是 www 還是不帶 www 的網址,回步驟二確認兩種寫法都已各寫一列如果是整台電腦連網都怪怪的,而不只是 hosts 裡的網域,問題多半在 DNS 或網路設定,可以從 Wi-Fi 顯示「無網際網路,安全」怎麼辦?從 DHCP 到 DNS 完整排查 開始查。

🔙 萬一翻車:回退步驟情境一:改完後某個網站打不開到 C:\Windows\System32\drivers\etc 刪除你放進去的 hosts,再把 hosts.old 改名回 hosts,接著執行 ipconfig /flushdns。只想撤掉其中一筆時,把 etc 裡的 hosts 複製到桌面,照步驟二把那一列刪掉或加 #,再照步驟三放回;不要再改名覆蓋 hosts.old,保留第一次的原始備份。

情境二:沒有備份,或想回到出廠內容照 Microsoft 支援文件〈How to reset the Hosts file back to the default〉操作:用記事本貼上文件提供的預設 hosts 內容,以含引號的 “hosts”、所有檔案類型存到桌面,把 etc 資料夾裡現有的 hosts 改名為 hosts.old,再把新的 hosts 放進去。預設內容裡所有列都以 # 開頭,不會覆寫任何網域。

💡 總結:進階玩法與底層邏輯hosts 能用來封鎖與測試,靠的是它在解析順序裡排在 DNS 伺服器前面。 理解「快取 → hosts → DNS 伺服器」這個順序,就知道為什麼改完要清快取、為什麼驗證要用 Resolve-DnsName 而不是 nslookup。

它的限制也來自同一個設計:hosts 一列只管一個主機名稱,範例格式裡也沒有萬用字元的寫法,要擋的主機名稱一多就得逐一列出,適合少量、明確的網域。要大範圍擋廣告或管控整個家庭網路,hosts 不是方便的工具。

網站搬家時,hosts 測試是最省事的一步:新主機設定好後先在自己的電腦對應過去,確認網站正常再改 DNS,測完記得刪掉那一列。依 Microsoft 支援文件(2026-10-03 查證),本文流程適用 Windows 11 與 Windows 10。

❓ 常見問題Q:Windows hosts 檔案在哪個路徑?

在 C:\Windows\System32\drivers\etc\hosts,檔名就是 hosts,沒有副檔名。開啟記事本後選 檔案 → 開啟,把檔案類型切到「所有檔案」才看得到它。

Q:改了 hosts 沒生效怎麼辦?

先確認檔名沒有變成 hosts.txt、檔案確實放在 etc 資料夾,再執行 ipconfig /flushdns,然後用 Resolve-DnsName 看回傳的 IP。Resolve-DnsName 已是新 IP、瀏覽器卻沒變時,完整關閉瀏覽器再開,並確認 www 與不帶 www 的網址都已各寫一列。

Q:hosts 可以拿來擋廣告嗎?

可以擋特定網域,但要一個主機名稱寫一列,範例格式裡沒有萬用字元的寫法,每個主機名稱都要逐一列出。只擋少數幾個明確網域時好用,大範圍擋廣告會很難維護。

Q:hosts 跟 DNS 誰先誰後?

依 Microsoft Learn 文件,Windows 的 DNS 用戶端先查快取,再查 hosts,最後才問 DNS 伺服器。hosts 有對應時就不會送出 DNS 查詢,所以剛改完要先清除 DNS 快取,避免快取裡的舊答案先被用上。

Q:這個方法在舊版本也適用嗎?

本文步驟依 Microsoft 支援文件整理,該文件涵蓋 Windows 11 與 Windows 10。更舊的 Windows 版本不在本文範圍內,改之前先確認該版的官方說明。

🔗 延伸閱讀Windows 網路怪怪的要不要「網路重設」?netsh、Winsock、TCP/IP 正確順序網速 1G 卻感覺像撥接?修改 DNS 與解決 Bufferbloat 的網路延遲優化術有些網站開得了、有些死都打不開?MTU 與封包碎片的隱形問題📎 參考資料來源📖 第一級|廠商官方:

How to reset the Hosts file back to the default(Microsoft Support) — 2026-10-03 查證Troubleshoot DNS client name resolution issues(Microsoft Learn) — 2026-10-03 查證ipconfig(Microsoft Learn) — 2026-10-03 查證Resolve-DnsName(Microsoft Learn) — 2026-10-03 查證⚠️ 本文核心事實以第一級為準。

📅 本文查證戳記:2026-10-03 依據 Microsoft Support 與 Microsoft Learn 文件查證撰寫,內容整理自官方說明,未在實機上操作測試。

若你在後續版本遇到步驟失效,歡迎透過聯絡頁面回報。

廣告

相关推荐

【国樽律所】新交规解析,闯红灯处罚标准、处理方式及法律依据全解读
中国四大卫星发射中心分别位于哪里?
365bet安全上网导航

中国四大卫星发射中心分别位于哪里?

📅 12-06 👁️ 7887
《宝可梦》有哪些并没被官方配对,但玩家基本默认的精灵CP?