hosts文件修改完無效的解決辦法

        當我們需要屏蔽某些惡意網站或訪問特定網址以及在內網做測試的時候,常常需要修改hosts 文件,但是會發現有時修改完卻總是不生效,而且Windows7系統和Vista系統、XP系統都會碰到此類情況,所以研究一下解決此類問題的辦法。

        一般在LINUX下修改完/etc/hosts文件都會立即生效的,即便偶爾不生效,只要重啓一下network服務就可以了。但是windows卻是會遇到這樣的問題,而且在不同版本的系統中還略有區別。

        在解決問題之前,讓我們瞭解一下dns和hosts的知識。我們知道在訪問網站時,首先要通過DNS服務器把要訪問的域名解析成IP地址後,我們才能在瀏覽器中看到所訪問網站的頁面內容。根據Windows系統規定,在進行DNS請求以前,Windows系統會先檢查自己的Hosts文件中是否有網絡域名的映射關係。如果有,則調用這個IP地址映射,如果沒有再向已知的DNS服務器提出域名解析,也就是說Hosts的請求級別比DNS高。

 

下面說一下如何具體修改Hosts文件:

首先要知道hosts文件的位置,在xp,2000,win7等系統中找到如下位置C:\windows\system32\drivers\etc,我們可以看到hosts文件,注意hosts文件是ascii編碼方式,而且是沒有後綴名的。

其二正確修改hosts文件,一般hosts文件裏面都會有個示例,比如 127.0.0.1 51cto.com   即代表打開51cto.com這個網址將解析到127.0.0.1,ip地址與網址間至少要有一空格,另外在最後一行書寫映射時一定要加上回車再保存以避免最後一行不生效,如果某條記錄暫時不用,只需要在它前面加一個#號即可。   

hosts文件默認具有隱藏屬性,系統默認設置情況下是看不到的,解決辦法是打開我的電腦-點擊工具-文件夾選項-查看-取消勾選隱藏受保護的系統文件,確定即可。如果修改後無法保存,請在Hosts文件上面點右鍵-屬性-把只讀屬性去掉即可保存。

  在修改HOSTS文件時候,還常常遇到修改保存後無效的情況,我們可以使用ipconfig /flushdns命令來刷新dns緩存, 或者也可以在管理工具中打開服務,找到“DNS Client”將其停用並改爲手動模式在修改完hosts啓動。

  

注意:當你在打開瀏覽器的情況下修改hosts文件時,關閉瀏覽器時系統纔會釋放掉hosts文件佔用的那部分內存,我們再次打開瀏覽器訪問就發現已經生效了。

如果遇到windows 7 操作系統無法打開和編輯的情況,一般是因爲安全機制UAC造成的,你可以按着Shift鍵,然後Hosts文件上面右鍵,以管理員方式運行即可。或者修改Hosts文件權限,將當前登錄的賬號加入到安全選項卡中,賦予寫入權。

還有一種方法就是打開本地連接的Internet(TCP/IP)協議的屬性頁,點擊常規選項卡中的高級按鈕,選擇WINS選項卡,勾選“啓用 LMHOSTS 查詢”,接着按下“導入 LMHOSTS”按鈕,導入hosts文件,這樣再次啓動瀏覽器時,就會發現hosts文件生效了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章