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