淺談hosts檔案

翱翔御龍發表於2018-09-25

本文目錄:
->1.什麼是hosts檔案?這個檔案在哪?
->2.hosts檔案的作用及用法
    ->Ⅰ加快解析速度
        查詢IP方法①:ping命令
        方法②:網站查詢
    ->Ⅱ遮蔽網站
->3.hosts檔案打不開怎麼辦?
---------------------------------------------------------------------------
本文可能需要用到的工具:
cmd(windows自帶的DOS命令視窗,執行->cmd即可開啟,“執行”可按win+r快捷鍵開啟) (win鍵就是鍵盤上alt左邊那個像windows圖示的鍵)
瀏覽器
---------------------------------------------------------------------------
hosts檔案是什麼?
hosts檔案(域名解析檔案)將主機名對映到IP地址的一個純文字檔案,原始名稱是HOSTS.TXT 
(IP,Internet Protocol,Internet協議)
作為一個純文字檔案,您可以選擇用系統自帶的記事本或者是寫字板來開啟該檔案
檔案位置:
如果您使用windows系統的話,通常位置是這個:
Windows XP/2000/Vista/7/8/8.1/10: C:\windows\system32\drivers\etc\
其他的作業系統下的位置:
Linux及其他類Unix作業系統:/etc
Android:/system/etc/
IPhone OS:/etc/
---------------------------------------------------------------------------
修改hosts檔案的作用:   
1.加快域名解析
通過hosts檔案,我們可以將域名和IP地址進行對映,這樣做可以使得,當使用者瀏覽特定的域名時(開啟特定的網址),不需要向DNS(Domain Name System,域名系統)查詢,直接將域名解析為IP從而達到加速解析的效果。
通常情況下,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進行貼上)
(www.baidu.com 可以寫成其他域名,此次填www.baidu.com是示例)
如圖所示:

---------------------------------------------------------------------------
2.使用網站查詢IP
開啟網站http://ip.chinaz.com,輸入域名後就可以查詢網站IP地址了(當然你也可以使用類似的網站,比如ip138、ipip等等)

---------------------------------------------------------------------------
通過方法1或者方法2記錄下IP和域名後
我們用記事本或者是其他可以開啟純文字的軟體來開啟hosts檔案
hosts檔案的位置:
Windows XP/2000/Vista/7/8/8.1/10: C:\windows\system32\drivers\etc\
其他的作業系統下的位置:
Linux及其他類Unix作業系統:/etc
Android:/system/etc/
IPhone OS:/etc/
------------------------------------------------------------------------------
然後在檔案的最下面輸入
183.232.231.173 www.baidu.com

儲存,ok
 
PS:使用hosts檔案將域名對映成IP其實就是將域名重定向(Redirect),使得域名跳轉向指定的IP地址。網上流傳的改hosts“科學上網”正是應用了這個原理
值得一提的是,如果hosts檔案內記錄的東西太多的話,有可能只會拖慢上網的速度,因為電腦在解析域名前,會先遍歷hosts檔案,找不到相應的記錄,再向DNS詢問    
                                                                  
---------------------------------------------------------------------------
2.遮蔽特定網站
原理是,通過將域名和一個不能瀏覽該網頁的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
pcookie.cnzz.com
cm.cn.miaozhen.com
cn-gmtdmp.mookie1.com
當然,因為是對映同一個IP,所以也可以寫成
0.0.0.0 stats.g.doubleclick.net bx.optimix.asia …(注意不同域名之間要用空格隔開,IP地址和域名之間也有空格)
在hosts檔案中,寫入後,儲存檔案,然後重啟瀏覽器即可。
注意:
在該檔案中,“#”後面的任何程式碼都不會生效,一般使用“#”進行註釋

---------------------------------------------------------------------------
hosts檔案打不開的解決方法:


注:計算機預設名稱為administrator,想知道你當前的計算機名稱,按win+l鍵(win鍵就是鍵盤上alt左邊那個像windows圖示的鍵),回到待機介面,就可以看到當前使用者的使用者名稱了



如果是Administrator使用者的話,點選Administrator使用者,在“修改”中勾選“允許”即可

然後再開啟hosts檔案即可。
---------------------------------------------------------------------------
總結
hosts檔案是什麼:將主機名對映到IP地址的一個純文字檔案
hosts檔案可以用任何開啟純文字的應用程式來開啟,如記事本
位置:
Windows XP/2000/Vista/7/8/8.1/10: C:\windows\system32\drivers\etc\
其他的作業系統下的位置:
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 域名
---------------------------------------------------------------------------
本文由 翱翔御龍 創作,採用署名-非商業性使用-相同方式共享 4.0 國際 (CC BY-NC-SA 4.0)進行許可
許可證明:https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh
轉載前請務必署名
 

相關文章