Hosts文件是一個用於存儲計算機網絡中節點信息的文件,它能夠將主機名映射到相應的IP地址,實現DNS的功能,它能夠由計算機的用戶進行控制。
Hosts文件的存儲位置在不一樣的操做系統中並不相同,甚至不一樣Windows版本的位置也不大同樣:
Windows NT/2000/XP/2003/Vista:默認位置爲%SystemRoot%\system32\drivers\etc\,但也能夠改變。
例如 c:\windows\system32\drivers\etc\
動態目錄由註冊表鍵\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters\DataBasePath決定。
Windows 95/98/Me:%WinDir%\ 數據庫
用記事本打開hosts文件,就能夠看見了微軟對這個文件的說明。Hosts文件文通常有以下面的基本內容
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
windows
127.0.0.1 localhost
安全
這個文件是根據TCP/IP for Windows 的標準來工做的。它的做用是定義IP地址和Host name(主機名)的映射關係,是一個映射IP地址和Host name (主機名) 的規定。這個規定中,要求每段只能包括一個映射關係,也就是一個IP地址和一個與之有映射關係的主機名。 IP地址要放在每段的最前面,映射的Host name(主機名)在IP後面,中間用空格分隔。對於這段的映射說明,用「#」分割後用文字說明。
服務器
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文件的工做方式和具體做用
如今來看一下Hosts文件的工做方式以及它在具體使用中起哪些做用。
一、加快域名解析
對於要常常訪問的網站,咱們能夠經過在Hosts中配置域名和IP的映射關係,提升域名解析速度。因爲有了映射關係,當咱們輸入域名計算機就能很快解析出IP,而不用請求網絡上的DNS服務器。
二、方便局域網用戶
在不少單位的局域網中,會有服務器提供給用戶使用。但因爲局域網中通常不多架設DNS服務器,訪問這些服務器時,要輸入難記的IP地址。這對很多人來講至關麻煩。如今能夠分別給這些服務器取個容易記住的名字,而後在Hosts中創建IP映射,這樣之後訪問的時候,只要輸入這個服務器的名字就好了。
三、屏蔽網站
如今有不少網站不通過用戶贊成就將各類各樣的插件安裝到你的計算機中,其中有些說不定就是木馬或病毒。對於這些網站咱們能夠利用Hosts把該網站的域名映射到錯誤的IP或本地計算機的IP,這樣就不用訪問了。在WINDOWSX系統中,約定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的目的。
四、順利鏈接系統
對於Lotus的服務器和一些數據庫服務器,在訪問時若是直接輸入IP地址那是不能訪問的,只能輸入服務器名才能訪問。那麼咱們配置好Hosts文件,這樣輸入服務器名就能順利鏈接了。
屏蔽不想訪問的網站的例子
這裏給出一些收集到的利用Hosts文件對一些網址屏蔽的例子,共你們學習使用Hosts文件時參考。
例1.
在 hosts文件中加入以下內容就能夠屏蔽文件中定義的對應的網址。
127.0.0.1 localhost
127.0.0.1 download.3721.com
127.0.0.1 3721.com #3721網絡實名
127.0.0.1 3721.net #3721網絡實名
127.0.0.1 cnsmin.3721.com #3721網絡實名
127.0.0.1 cnsmin.3721.net #3721網絡實名
127.0.0.1 download.3721.com #3721網絡實名
127.0.0.1 download.3721.net #3721網絡實名
127.0.0.1 www.3721.com #3721網絡實名
127.0.0.1 www.3721.net #3721網絡實名
例2.
在 hosts文件中加入以下內容就能夠屏蔽文件中定義的對應的網址。
127.0.0.1 localhost
127.0.0.1 bar.baidu.com #百度IE搜索伴侶
127.0.0.1 www.baidu.com #百度IE搜索伴侶
127.0.0.1 baidu.com #百度IE搜索伴侶
最後要指出的是,Hosts文件配置的映射是靜態的,若是網絡上的計算機更改了請及時更新IP地址,不然將不能訪問。
如何用手動查殺劫持HOSTS表的病毒
首先必需要進入安全模式
下載一個360安全衛士,不要安裝!進入安全模式後,關閉進程EXPLORER.EXE,而後再填加進程EXPLORER.EXE(具體操做文件-新建任務「運行」-瀏覽-C:\WINDOWS\explorer.exe)。而後安裝360安全衛士。運行360安全衛士,進行修復。
其次運行regedit刪除以下項目,查找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
後面有多種可能性,目前發現有2種! 名稱爲R 或者 A
1.R=C:\Windows\System32\rundll32.exe ctfmon.dll s
2.A=C:\WINDOWS\system32\rundll32.exe msad.dll s
你若是發現了這2個其中一個,直接刪除此項目。
而後找到 C:\Windows\System32\ctfmon.dll或者 C:\Windows\System32\msad.dll
刪除該文件
修復HOSTS文件(其實安全模式下安裝運行360安全衛士就已經能夠修復了,這裏說手動修復的方法)請按如下方式操做:
1.搜索系統中的hosts文件,也能夠根據以下路徑查找:
Windows 98系統,文件路徑\Windows目錄下;
Windows XP系統,文件路徑\Windows\System32\Drivers\Etc目錄下;
Windows 2000系統,文件路徑:WINNT\System32\Drivers\Etc目錄下;
2.首先將此文件備份;
3.右鍵點擊hosts文件,選擇{打開方式},選擇記事本;
4.刪除記事本的內容,或乾脆將hosts文件刪除!(不影響系統的正常使用)[app