修改hosts文件无效?附解决办法
很多朋友可能碰到了这样的问题,用来屏蔽某些恶意网址的时候,修改了hosts 文件,但是却总是不生效。上网搜索了一下,Windows7系统、Vista系统、XP系统都碰到了此类情况,看来问题还很普遍。今天特别附上一则解决办法,未必通杀,但确实是解决了很多这种情况下的问题。
解决这个问题之前,我们先来简略谈下hosts文件,很多新手朋友可能还不了解,网络反黑文件,就是通过修改hosts文件来实现对恶意网址的屏蔽甚至转向的。
简单的说,hosts文件是用于本地dns服务的,采用如下格式写在一个文本文件当中
ip 域名
Windows系统上一般存放在系统盘的\windows\system32\drivers\etc\目录下,本地主机一般都被定义为:
127.0.0.1 locahost
根据微软的相关文档,hosts文件必须是ascii编码方式也就是ANSI方式,如果你存为unicode格式将不会被正确读取,不过在win 7中似乎转而使用UTF-8了(不过我现在用的win 7 sp1仍然不认unicode的)。
回到今天的主话题,修改hosts将域名指向新的ip是总是无法生效,试过很多办法,问题却依然存在,于是上微软的网站寻找答案,最终发现一个“DNS Client ” 服务的问题,“DNS CLient ”服务是缓存dns用的,所以说修改了hosts的文件是不能马上生效的,需要一段时间的延时,通常可以用ipconfig /flushdns来刷新dns缓存,但这个方法似乎没有什么效果,于是干脆打开控制面板–管理工具–服务,在其中找到“DNS Client ”将其停用并改为手动模式。
于是问题就解决了,hosts文件随时修改随时生效。注意,本文说的无效,是指的设置后无效,不是指的没有权限修改hosts。