1.什么是hosts文件?這個文件在哪?
hosts文件(域名解析文件)是將主機名映射到IP地址的一個純文本文件,原始名稱是HOSTS.TXT(IP,Internet Protocol,Internet協議)
作為一個純文本文件,您可以選擇用系統自帶的記事本或者是寫字板來打開該文件。hosts是一個沒有擴展名的系統文件,其基本作用就是將一些常用的網址域名與其對應的 IP 地址建立一個關聯“ 數據庫 ”。當用戶在瀏覽器中輸入一個需要登錄的網址時,系統會首先自動從hosts文件中尋找對應的 IP 地址,一旦找到,系統就會立即打開對應網頁,如果沒有找到,則系統會將網址提交 DNS 域名解析服務器進行 IP 地址的解析。
文件位置:
如果您使用windows系統的話,通常位置是這個:
Windows XP/2000/Vista/7/8/8.1/10: C:windowssystem32driversetc
其他的操作系統下的位置:
linux及其他類Unix操作系統:/etc
Android:/system/etc/
iphone OS:/etc/
ails/82846903
2 hosts文件的作用
2.1 加快域名解析
對于經常訪問的網站,咱們可以通過在hosts文件中配置域名和 IP 的映射關系,提高域名的解析速度。由于有了映射關系,當咱們輸入域名后,計算機就能夠快速解析出 IP 地址,而不用請求網絡上的 DNS 服務器。
通常情況下,1個IP映射1個域名,也可以1個IP對應多個域名。
在用法當中,先填IP再填域名 比如說:127.0.0.1 www.baidu.com
域名如何得到呢?通常情況下,我們在瀏覽一個網頁的時候,瀏覽器的地址欄里會顯示他的域名。(注意,在hosts文件中填寫域名時,域名中的協議(http/https)是不需要寫上去的)
同樣的,我們可以采用以下兩種簡單的方法來獲取IP
1.采用ping命令的方式來獲得IP
注:如果您家的電腦無法ping通網站,可以跳到方法2
我們就可以通過ping命令得到該域名的IP地址:
打開cmd后,我們可以得到一個DOS命令窗口,我們上面輸入:
ping www.baidu.com -n 1
然后回車(注意,如果要復制粘貼域名的話,請用右鍵點擊粘貼,不能使用ctrl+V進行粘貼)
2.使用網站查詢IP
打開網站http://ip.chinaz.com,輸入域名后就可以查詢網站IP地址了(當然你也可以使用類似的網站,比如ip138、ipip等等)
使用hosts文件將域名映射成IP其實就是將域名重定向(Redirect),使得域名跳轉向指定的IP地址。
值得一提的是,如果hosts文件內記錄的東西太多的話,有可能只會拖慢上網的速度,因為電腦在解析域名前,會先遍歷hosts文件,找不到相應的記錄,再向DNS詢問
2.2 構建映射關系
在很多單位中,都會有自己局域網,而且還會有不同的服務器提供給公司的成員使用。但由于局域網中一般很少架設 DNS 服務器,因此在訪問這些服務器時,就需要輸入難記的 IP 地址,這對大家來說相當麻煩。因此,咱們可以分別給這些服務器取個容易記住的名字,然后在hosts文件中建立 IP 映射,這樣在以后訪問的時候,只要輸入這個服務器的名字就 OK !
2.3 屏蔽垃圾網站
現在有很多網站,在不經過咱們同意的時候,就將各種各樣的插件安裝到咱們的計算機中,其中不乏病毒和木馬。對于這些網站,咱們就可以利用hosts文件把這些網站的域名映射到一個錯誤的 IP 或本地計算機的 IP 地址上,這樣就可以達到禁止訪問的目的!
原理是,通過將域名和一個不能瀏覽該網頁的IP地址進行映射,當用戶訪問該網站時,出現域名解析錯誤的情況,使得用戶無法訪問該網頁,這個方法可以用于屏蔽網頁廣告投放(但當今的廣告一般由專業的廣告投放公司如doubleclick進行投放的,所以修改hosts文件不能替代專業的去廣告軟件,但可以起到輔助作用)
要想使得域名解析錯誤,通常將域名和127.0.0.1或者是0.0.0.0這兩個IP地址進行映射.(127.0.0.1是回送地址,指本地機,別名是lolocalhost,0.0.0.0是一個不可路由的元地址)
舉個例子,如果在hsots文件上寫127.0.0.1 www.baidu.com,那就會無法訪問www.baidu.com
如果想體驗下手工屏蔽廣告的話,可以使用到wireshark等捉包軟件進行捉包來得到廣告商的域名。然后再通過修改hosts文件來進行屏蔽。
在這里,我收集了一些廣告商的域名,只要將域名和127.0.0.1或0.0.0.0進行映射即可
以下是我找到的一些投放廣告商的域名:
stats.g.doubleclick.net
bx.optimix.asia
bx01.optimix.asia
cm.g.doubleclick.net
cms.tanx.com
當然,因為是映射同一個IP,所以也可以寫成
0.0.0.0 stats.g.doubleclick.net bx.optimix.asia …(注意不同域名之間要用空格隔開,IP地址和域名之間也有空格)
注意:
在hosts文件中,“#”后面的任何代碼都不會生效,一般使用“#”進行注釋
3 修改hosts文件的方法
由于 hosts 文件屬性系統文件,因此需要管理員權限才能對其進行修改。
第一種方法:先將權限修改成管理員權限,然后在對其進行修改。
第二種方法:先將hosts文件復制到桌面,這時就不需要管理員權限了,因此可以對其進行修改了,等修改之后,在將其拖回原目錄,替換就可以啦!
在 IOS 系統中中,hosts文件的位置為:~/private/etc
在 Windows 系統中,hosts文件的位置為:C:WindowsSystem32driversetc
總結:
hosts文件是什么:將主機名映射到IP地址的一個純文本文件
hosts文件可以用任何打開純文本的應用程序來打開,如記事本
位置:
Windows XP/2000/Vista/7/8/8.1/10: C:windowssystem32driversetc
其他的操作系統下的位置:
Linux及其他類Unix操作系統:/etc
Android:/system/etc/
IPhone OS:/etc/
作用:
1.加快域名解析,當用戶瀏覽特定的域名時,不需要向DNS查詢,直接將域名解析為IP從而達到加速解析的效果
2.通過不相應的IP與域名映射使得域名解析錯誤,從而無法訪問網站
注意:
在該文件中,“#”后面的任何代碼都不會生效,一般使用“#”進行注釋
加速解析的用法:
1.ip 域名 如 183.232.231.173 www.baidu.com
2.ip 域名 域名 …
屏蔽網站的用法: 0.0.0.0 域名 或 127.0.0.0 域名