修改hosts文件不起作用的问题

HOSTS对于需要设置的人应该都知道为何用,主要就是在本地建立一个域名--ip映射,而不需要再去找上层的DNS服务器去进行解析。直接就能建立链接操作,进行相关信息的发送。

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成一个唯一的IP地址,之后,浏览器才能对此网站进行定位并且访问其数据。

操作系统规定,在进行DNS请求以前,先检查系自己的Hosts文件中是否有这个域名和IP的映射关系。如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请求。也就是说Hosts的IP解析优先级比DNS要高

某些情况下我们可能设置了HOSTS后不能生效,这里总结一下工作中遇到问题和解决的方法:

1、双系统的机器:

设置hosts后不生效的原因主要是:设置的hosts不是当前操作系统的hosts,比如当前系统装在D盘,而修改hosts修改在了C盘的。查看当前系统安装在哪个盘的最简单方法就是开一个cmd命令行,其初始的提示符路径的磁盘就是当前系统盘:如C:\Documents and Settings\sina>, 那么C盘就是当前系统盘。或者用set命令查看系统的环境变量。

 

2、由于本地DNS的缓冲:

因为hosts是一个本地的dns解析服务,所以在本地有一个专门的dns client服务在后台运行,而这个服务会有一个缓存机制,所以有时可能不能及时生效。这是可以通过刷新dns缓存或手动重启dns client服务来解决。刷新命令为:ipconfig /flushdns。  手动重启dns client 服务器的方法为:cmd--》services.msc--》找到dns cilent 服务-》停止--》重启

 

3、由于文本格式原因导致格式不正确:

hosts文件中是有一定格式的,即单行一个dns的ip地址映射,可以一个ip对应多个域名,每行的ip和域名之间至少有一个空格或TAB键。通常我们直接输入都是正确的,而当我们复制粘贴进来的文本时,有时会不生效。这就是因为换行符的问题导致的,因为你从其它终端复制过来的内容换行格式可能与windows的换行符不一样,那这样就不会生效了。

解决办法:自己手动填写,或通过文本编辑器进行自动转换。如:editplus

~~~~~~~~~~~~~~~~~~

1,在开启浏览器的时候修改磁盘上的hosts文件,比如说加了原先没有的一句"127.0.0.1 www.360.cn",保存hosts文件后,在浏览器URL栏中输入www.360.cn,是不会被屏蔽的,因为系统将hosts拷贝了一份到内存 中,IE浏览器读取的是内存中的hosts文件,而我们修改的是磁盘上的hosts文件。这就好办了,我们关闭浏览器,这时系统就会释放掉hosts文件 占用的那部分内存,我们再次打开浏览器访问,就发现已经屏蔽了。 相当于清了内存中的。读取新的

2,就是文件后缀名捣鬼,如果第一个情况已经排除,那可能你的hosts文件有扩 展名,hosts文件本身是没有文件扩展名的,如果不小心被加上了如txt等的文件扩展名,就会失效。

3,打开本地连接的 Internet(TCP/IP)协议的属性页,点击常规选项卡中的高级按钮,选择WINS选项卡,勾选“启用 LMHOSTS 查询”,接着按下“导入 LMHOSTS”按钮,导入C:/WINDOWS/system32/drivers/etc下的hosts文件,这样再次启动浏览器时,就会发现网站都 被屏蔽了,hosts文件生效了。
 

 

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值