1、什麼是hosts
1、什麼是hosts
hosts —— the static table lookup for host name(主機名查詢靜態表)。android
hosts文件是一個用於儲存計算機網絡中各節點信息的計算機文件。這個文件負責將主機名映射到相應的IP地址。hosts文件一般用於補充或取代網絡中DNS的功能。和DNS不一樣的是,計算機的用戶能夠直接對hosts文件進行控制。
Hosts是一個沒有擴展名的系統文件,其做用就是將一些經常使用的網址
域名與其對應的
IP地址創建一個關聯「數據庫」,當用戶在瀏覽器中輸入一個須要登陸的網址時,系統會首先自動從
Hosts文件中尋找對應的
IP地址,一旦找到,系統會當即打開對應網頁,若是沒有找到,則系統會再將網址提交DNS
域名解析服務器進行IP地址的解析。
優先級 : dns緩存 > hosts > dns服務
2、hosts的位置
- Windows 系統hosts位於 C:\Windows\System32\drivers\etc\hosts
- Android(安卓)系統hosts位於 /etc/hosts
- Mac(蘋果電腦)系統hosts位於 /etc/hosts
- iPhone(iOS)系統hosts位於 /etc/hosts
- Linux系統hosts位於 /etc/hosts
- 絕大多數Unix系統都是在 /etc/hosts
3、hosts的內容
Windows版本的hosts文件內容以下:
#後都是註釋,因此清空hosts文件對系統正常運行並無什麼影響。
在一個局域網中,每臺機器都有一個主機名,用於區分主機,便於相互訪問。
通常/etc/hosts的內容通常有以下相似內容:
127.0.0.1 localhost.localdomain localhost
192.168.1.100 linumu100.com linumu100
192.168.1.120 ftpserver ftp120
通常狀況下hosts文件的每行尾一個主機,每行由三部分組成,每一個部分由空格隔開。
第一部分:網絡IP地址;
第二部分:主機名或域名;
第三部分:主機名別名;
固然每行也能夠是兩部分,即主機IP地址和主機名。
主機名(hostname)和域名(domain)的區別:
主機名一般在局域網內使用,經過hosts文件,主機名就被解析到對應IP;
域名一般在INTERNET上使用,但若是本機不想使用internet上的域名解析,這時就能夠更改hosts文件,加入本身的域名解析。
4、hosts的做用
對於要常常訪問的網站,咱們能夠經過在Hosts中配置
域名和IP的映射關係,提升域名解析速度。因爲有了映射關係,當咱們輸入域名計算機就能很快解析出IP,而不用請求網絡上的DNS服務器。
二、方便局域網用戶
在不少單位的局域網中,會有服務器提供給用戶使用。但因爲局域網中通常不多架設DNS服務器,訪問這些服務器時,要輸入難記的IP地址。這對很多人來講至關麻煩。能夠分別給這些服務器取個容易記住的名字,而後在Hosts中創建IP映射,這樣之後訪問的時候,只要輸入這個服務器的名字就好了。
有不少網站不通過用戶贊成就將各類各樣的
插件安裝到你的計算機中,其中有些說不定就是木馬或病毒。對於這些網站咱們能夠利用Hosts把該網站的
域名映射到錯誤的IP或本地計算機的IP,這樣就不用訪問了。
四、順利鏈接系統
對於Lotus的服務器和一些
數據庫服務器,在訪問時若是直接輸入IP地址那是不能訪問的,只能輸入服務器名才能訪問。那麼咱們配置好Hosts文件,這樣輸入服務器名就能順利鏈接了。
5.虛擬域名
不少時候,網站建設者須要把」軟環境「搭建好,再進行上傳調試。但相似於郵件服務,則須要使用域名來輔助調試,這時就能夠將本地 IP 地址與一個」虛擬域名「作地址指向,就能夠達到要求的效果,且無需花費。如:
127.0.0.1 網站域名
以後在瀏覽器地址欄中輸入對應的網站域名便可。
5、如何修改hosts
一、屏蔽網站(域名重定向)
在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的目的。
在修改hosts文件時候,還經常遇到修改保存後無效的狀況,這裏要提醒你們注意的一點:不少人是寫在最後行,寫完最後一行後在沒有回車的狀況下,這一行是不生效的。必定要記得回車。建議你們遵循這樣的習慣:「ip地址+Tab+
域名+換行」 添加記錄。
二、局域網用戶訪問
若是,咱們在A主機的hosts中,寫入如下內容:
B主機的ip B主機名
這樣咱們就能夠經過B主機名找到B主機及其服務。
三、android系統的hosts修改
在 Android 下,/etc 是 link 到 /system/etc 的,咱們須要修改 /system/etc/hosts 來實現。可是這個文件是隻讀,不能經過 shell 直接修改。能夠經過鏈接到 PC 上使用 adb 來修改。步驟以下:
(2)設置/system爲可讀寫:adb remount
(3)將
hosts文件複製到PC:adb pull /system/etc/hosts
(4)修改PC機上文件
(5)將PC機上文件複製到手機:adb push /system/etc/hosts
若是要查看是否修改爲功,能夠在PC上執行adb shell,運行cat /system/etc/hosts;或者在手機上運行cat /system/etc/hosts。
在Android系統中,hosts文件格式有一點與PC機Linux不一樣:不能在一行中一個IP對應多個
域名,好比:
127.0.0.1 host1.example.com host2.example.com host3.example.com
在大多PC機Linux系統是合法的,但不能在Android上起做用,須要拆成每一個域名一行才能使用:
x.x.x.x host1.example.com
x.x.x.x host2.example.com
x.x.x.x host3.example.com
四、經過修改hosts上google
第一步:下載能夠正常使用的hosts文件
能夠在百度搜索相似「Google hosts」等相關關鍵詞或者老D,找到最新可用的host文件。
第二步:修改本地hosts文件
在電腦系統中找到hosts,路徑基本上是C:\Windows\System32\drivers\etc,而後將下載的hosts文件將本地hosts文件替換,或者在本地hosts文件中直接在地址欄修改便可!
第三步:刷新本地dns
第二步完成本地hosts文件的修改以後,可使用dos命令完成最後的操做。
(1)使用WIN+R鍵,啓動運行,鍵入cmd
(2)在dos界面輸入「ipcong /flushdns」
(3)dos命令窗提示「已成功刷新DNS解析緩存」,就完成了。
6、其餘
一、怎麼獲取域名所對應的IP地址
打開「開始――運行」,輸入「cmd」,在命令行界面輸入「ping www.baidu.com」,回車。
顯示結果相似:Reply from 220.181.6.18:bytes=32 time=24msTTL=55。
其中的220.181.6.18就是域名所對應IP地址(百度的)。呵呵!
二、修改hosts後生效方法
(1)Windows
開始 -> 運行 -> 輸入cmd -> 在CMD窗口輸入
ipconfig /flushdns
(2)Linux
打開終端
重啓網絡:
sudo /etc/init.d/networking restart
desktop版能夠這樣重啓:
sudo service network-manager restart
若是隻是修改了某個網卡(例如eth0)的信息,也能夠經過重啓網卡的方式使其修改生效。
sudo ifdown eth0 sudo ifup eth0
若是不懂請都嘗試下
(3)Mac OS X終端輸入
sudo killall -HUP mDNSResponder
(4)Android
開啓飛行模式 -> 關閉飛行模式
(5)通用方法
拔網線(斷網) -> 插網線(從新鏈接網絡)
如不行請清空瀏覽器緩存(建議不要使用國產瀏覽器,請使用谷歌Chrome瀏覽器)