修改Host为什么不生效

如题所述

当我们需要屏蔽某些恶意网站或访问特定网址以及在内网做测试的时候,常常需要修改hosts 文件,但是会发现有时修改完却总是不生效,而且Windows7系统和Vista系统、XP系统都会碰到此类情况,所以研究一下解决此类问题的办法。
一般在LINUX下修改完/etc/hosts文件都会立即生效的,即便偶尔不生效,只要重启一下network服务就可以了。但是windows却是会遇到这样的问题,而且在不同版本的系统中还略有区别。
在解决问题之前,让我们了解一下dns和hosts的知识。我们知道在访问网站时,首先要通过DNS服务器把要访问的域名解析成IP地址后,我们才能在浏览器中看到所访问网站的页面内容。根据Windows系统规定,在进行DNS请求以前,Windows系统会先检查自己的Hosts文件中是否有网络域名的映射关系。如果有,则调用这个IP地址映射,如果没有再向已知的DNS服务器提出域名解析,也就是说Hosts的请求级别比DNS高。
首先要知道hosts文件的位置,在xp,2000,win7等系统中找到如下位置C:\windows\system32\drivers\etc,我们可以看到hosts文件,注意hosts文件是ascii编码方式,而且是没有后缀名的。
其二正确修改hosts文件,一般hosts文件里面都会有个示例,比如 127.0.0.1 51cto.com   即代表打开51cto.com这个网址将解析到127.0.0.1,ip地址与网址间至少要有一空格,另外在最后一行书写映射时一定要加上回车再保存以避免最后一行不生效,如果某条记录暂时不用,只需要在它前面加一个#号即可。  
hosts文件默认具有隐藏属性,系统默认设置情况下是看不到的,解决办法是打开我的电脑-点击工具-文件夹选项-查看-取消勾选隐藏受保护的系统文件,确定即可。如果修改后无法保存,请在Hosts文件上面点右键-属性-把只读属性去掉即可保存。
在修改HOSTS文件时候,还常常遇到修改保存后无效的情况,我们可以使用ipconfig /flushdns命令来刷新dns缓存, 或者也可以在管理工具中打开服务,找到DNS Client将其停用并改为手动模式在修改完hosts启动。
注意:当你在打开浏览器的情况下修改hosts文件时,关闭浏览器时系统才会释放掉hosts文件占用的那部分内存,我们再次打开浏览器访问就发现已经生效了。
如果遇到windows 7 操作系统无法打开和编辑的情况,一般是因为安全机制UAC造成的,你可以按着Shift键,然后Hosts文件上面右键,以管理员方式运行即可。或者修改Hosts文件权限,将当前登录的账号加入到安全选项卡中,赋予写入权。
还有一种方法就是打开本地连接的Internet(TCP/IP)协议的属性页,点击常规选项卡中的高级按钮,选择WINS选项卡,勾选启用 LMHOSTS 查询,接着按下导入 LMHOSTS按钮,导入hosts文件,这样再次启动浏览器时,就会发现hosts文件生效了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-03-02
在 UNIX/Linux 系统中,缺少一个 s 字母也不对。不是修改 host,而是修改 /etc/hosts 文件,该文件是一个有若干个 IP 地址与若干台主机名称对应的文件;或者是修改本台计算机的主机名(/etc/hostname),这两个在概念上是不一样的。所以说,关键是要看你指的是哪一种情况了。本回答被提问者采纳

修改本机host不生效怎么处理
如果浏览器使用了代理工具,修改 Hosts 也不会生效。这里是因为,浏览器会优先考虑代理工具(如添加 pac 文件、SwitchySharp等)的代理,建议调试的时候先关闭这些代理。使用 pac 文件代理有的时候部分文件的代理不生效,应该是 pac 对应的代理服务器上,做了部分处理。部分浏览器也有 DNS 缓存,如 chrome...

为什么我的hosts文件修改无效
第4步骤: 4 回到今天的主话题,修改hosts将域名指向新的ip是总是无法生效, 试过很多办法,问题却依然存在, 于是上微软的网站寻找答案, 最终发现时一个“DNS Client” 服务的问题, “DNS CLient”服务是缓存dns用的, 所以说修改了hosts的文件是不能马上生效的, 需要一段时间的延时, 通常可以...

修改Host为什么不生效
hosts文件默认具有隐藏属性,系统默认设置情况下是看不到的,解决办法是打开我的电脑-点击工具-文件夹选项-查看-取消勾选隐藏受保护的系统文件,确定即可。如果修改后无法保存,请在Hosts文件上面点右键-属性-把只读属性去掉即可保存。在修改HOSTS文件时候,还常常遇到修改保存后无效的情况,我们可以使用ipconf...

Win7\/10系统修改hosts文件后发现设置无效怎么办
修改hosts文件后设置无效的原因及解决方法:修改hosts将域名指向新的ip总是无法生效,其实是由“DNSClient”服务导致的,它是缓存dns用的,所以说修改了hosts的文件是不能马上生效的,需要一段时间的延时,通常可以用ipconfig\/flushdns来刷新dns缓存,但这个方法对于我的问题似乎没有什么效果。用户可以参考以...

修改host文件为什么不能生效
host文件是有缓存机制的,你修改后并不会立马发生变化,而是要过一段时间才能变化。所以耐心等待一会儿就好了 想立马发生变化的解决方案:在命令提示符里面键入 ipconfig\/flushdns

为什么我的hosts文件修改无效
所以说修改了hosts的文件是不能马上生效的, 需要一段时间的延时, 通常可以用ipconfig \/flushdns来刷新dns缓存,但这个方法对于我的问题似乎没有什么效果, 于是干脆打开控制面板- 管理工具 – 服务, 在其中找到“DNS Client” 将其停用并改为手动模式。于是问题就解决了,hosts文件随时修改随时生效。

修改host文件为什么不能生效
你是不是没有保存,或者你修改的内容有误

Win10修改hosts文件后设置无效怎么解决
→“打开”:3、如下图,浏览到hosts文件所在目录,右下角改成“所有文件”,否则看不到hosts文件,鼠标选定hosts后,点击右下角的“打开”:4、如下图,打开hosts文件,修改hosts文件,修改完毕后,点击左上方的“文件”→“保存”即可,至此hosts文件修改完毕,有的时候需要重启电脑修改才生效:...

Win10修改hosts文件后设置无效怎么解决
1、用户可以在桌面创建一个host文件(无扩展名)并编辑好里面的内容;2、然后把C:\\Windows\\System32\\Drivers\\ect\\下的host文件删除;3、删除后再把自己新创建的host文件放在ect目录中。以上介绍的就是Win10修改hosts文件后设置无效的解决方法,操作完成后,就会发现之前的设置已经生效 ...

windows7 修改hosts 不生效,有什么解决办法?只要能解决问题,悬赏分不...
你最好查看一下隐藏文件,可能你改错了,还有host后面是不加后缀名的。不是什么.txt什么的

相似回答