今天工作,在局域網下佈置測試環境需要修改hosts文件,好奇之下搜索,發現一篇詳細講解其作用的文章,遂轉。在我看來主要用兩個作用:配合apache的vhostst配置虛擬主機;域名綁定ip,解析級別高於DNS。
<!--轉載-->
Hosts文件概念:
Hosts是一個沒有擴展名的系統文件,可以用記事本等工具打開,其作用就是將一些常用的網址域名與其對應的IP地址建立一個關聯“數據庫”,當用戶在瀏覽器中輸入一個需要登錄的網址時,系統會首先自動從Hosts文件中尋找對應的IP地址,一旦找到,系統會立即打開對應網頁,如果沒有找到,則系統再會將網址提交DNS域名解析服務器進行IP地址的解析。
Hosts文件的位置
很多用戶都知道在Windows系統中有個Hosts文件(沒有後綴名),
在Windows 98系統下該文件在Windows文件夾。
在Windows 2000/XP/Vista/Seven系統中位於%Systemroot%\System32\Drivers\Etc 文件夾中,其中,%Systemroot%指系統安裝路徑。例如,Windows XP 安裝在C:\WINDOWS,那麼Hosts文件就在C:\WINDOWS\system32\drivers\etc中。
但Hosts文件具有系統屬性,系統默認是不顯示此文件的,因此很多朋友雖然找到了相應的文件夾卻看不到Hosts文件,顯示系統文件的方法是:
打開我的電腦,依次點擊工具~文件夾選項~查看,之後在高級設置中取消勾選隱藏受保護的系統文件,確定後就完成了.這時電腦中的所有系統文件會顯示出來,Hosts文件也不會例外.
你也可以用windows自帶的查找功能搜索找到hosts文件。
該文件其實是一個純文本的文件,用普通的文本編輯軟件如記事本等都能打開和編輯。
Hosts文件的工作方式
現在讓我們來看看Hosts在Windows中是怎麼工作的。
我們知道在網絡上訪問網站,要首先通過DNS服務器把要訪問的網絡域名(XXXX.com)解析成XXX.XXX.XXX.XXX的IP地址後,計算機才能對這個網絡域名作訪問。
要是對於每個域名請求我們都要等待域名服務器解析後返回IP信息,這樣訪問網絡的效率就會降低,因爲DNS做域名解析和返回IP都需要時間。
爲了提高對經常訪問的網絡域名的解析效率,可以通過利用Hosts文件中建立域名和IP的映射關係來達到目的。根據Windows系統規定,在進行DNS請求以前,Windows系統會先檢查自己的Hosts文件中是否有這個網絡域名映射關係。如果有則,調用這個IP地址映射,如果沒有,再向已知的DNS服務器提出域名解析。也就是說Hosts的請求級別比DNS高。
現在來看一下Hosts文件的工作方式以及它在具體使用中起哪些作用。
1、加快域名解析
對於要經常訪問的網站,我們可以通過在Hosts中配置域名和IP的映射關係,提高域名解析速度。由於有了映射關係,當我們輸入域名計算機就能很快解析出IP,而不用請求網絡上的DNS服務器。
2、方便局域網用戶
在很多單位的局域網中,會有服務器提供給用戶使用。但由於局域網中一般很少架設DNS服務器,訪問這些服務器時,要輸入難記的IP地址。這對不少人來說相當麻煩。現在可以分別給這些服務器取個容易記住的名字,然後在Hosts中建立IP映射,這樣以後訪問的時候,只要輸入這個服務器的名字就行了。
3、屏蔽網站(域名重定向)
現在有很多網站不經過用戶同意就將各種各樣的插件安裝到你的計算機中,其中有些說不定就是木馬或病毒。對於這些網站我們可以利用Hosts把該網站的域名映射到錯誤的IP或本地計算機的IP,這樣就不用訪問了。在WINDOWS系統中,約定127.0.0.1爲本地計算機的IP地址, 0.0.0.0是錯誤的IP地址。
如果,我們在Hosts中,寫入以下內容:
127.0.0.1 # 要屏蔽的網站 A
0.0.0.0 # 要屏蔽的網站 B
這樣,計算機解析域名 A和 B時,就解析到本機IP或錯誤的IP,達到了屏蔽網站A 和B的目的
4、通過修改Hosts文件 獲取的特殊作用
(1)屏蔽網頁插件
經常瀏覽網頁或許會在某個網站上經常遇見彈出來的插件安裝提示,雖然現在IE級別都高了一個檔次,當總是提示又不想安裝怎麼辦?,比如要屏蔽XX插件 修改Hosts輸入:
127.0.0.1 www.XXX .com/xx.exe
保存退出,當再次打開某站點強出插件www.XXX .com/aa.exe頁面時,系統會自動將其解析到127.0.0.1這樣一個不可能存在的IP地址上,這樣也就屏蔽了該網頁插件。
大家是否經歷過這樣的怪事:在正常瀏覽網頁或進行其他辦公操作的過程中,IE每隔一段時間就會自動彈出整屏的網頁廣告並且這些網頁廣告內容還會自動隨機變換!不過網址的形式比較固定,其實這是一種類似“Win32.Troj.PopWeb”的系列木馬病毒,大家也可以按照上面的方法將這些網址解析成127.0.0.1從而擺脫病毒的騷擾。
(2)一鍵登錄局域網指定服務器
單位的“高工”在公司的局域網中建了個CS對戰服務器,於是我們這些一人吃飽全家皆飽的單身漢便又有了在下班時間消遣的好去處。不過有一點美中不足,局域網中沒有再架設DNS服務器,所以我們每次只能輸入IP地址進行登錄,儘管只是數量不算多的一串數字,但畢竟數字枯燥啊!
在這種情況下,我們可以通過修改Hosts文件來達到一鍵登錄局域網CS服務器的目的:打開Hosts文件,同樣在新開啓的空白行中輸入“221.555.78.122 aa.com”(假定221.555.78.122是CS服務器在局域網中的IP地址),這樣我們以後只要輸入“aa.com”就可以直接登錄局域網CS服務器了。
5、修改Hosts文件
(1)正確修改hosts文件:
一般打開hosts文件裏面都會有個示例,按照其格式修改即可
比如以下內容:
127.0.0.1 abc.cn
即代表打開abc .cn這個網址將解析到127.0.0.1,ip地址與網址間至少有一空格,當然建議通過按Table鍵來編輯,即美觀又不容易編寫失誤;這也就是通過解析到本地回還地址屏蔽一些不友好的網站或ip了,當然在前面加一個#號即可暫時將這一行讓它失效。
(2)hosts文件的位置:
xp,2000等系統在 C:\windows\system32\drivers\etc 文件夾中
Windows 9x/Me系統在C:\Windows文件夾,
(3)hosts文件的系統屬性:
hosts文件默認具有隱藏屬性,系統默認設置情況下是看不到的,當然進到這個文件除了直接輸入路經也是無法看到了。解決辦法:打開我的電腦->點擊工具->文件夾選項->查看->取消勾選隱藏受保護的系統文件->確定即可。
修改後無法保存:
在Hosts文件上面點右鍵->屬性->把只讀屬性去掉->確定,即可保存。
在修改HOSTS文件時候,還常常遇到修改保存後無效的情況,這裏要提醒大家注意的一點:很多人是寫在最後行,寫完最後一行後在沒有回車的情況下,這一行是不生效的。一定要記得回車。
建議大家遵循這樣的習慣:“ip地址+Table鍵+域名+回車” 添加記錄。
(4)Hosts在UAC安全策略無法打開或編輯:
遇到windows VISTA 或者 windows 7 操作系統無法打開和編輯的情況,提示:“不能創建文件” 或者 “文件操作失敗”等提示,是因爲安全機制UAC造成的,你可以使用以下方法解決: