x

Windows 7 旗舰版下载

微软经典Windows操作系统,办公一族得力助手

立即下载,安装Windows7

下载 立即下载
查看视频教程

Windows10专业版下载

办公主流Windows 操作系统,让工作更稳定

立即下载,安装Windows 10系统

下载 立即下载
查看视频教程

Windows 11 专业版下载

微软全新Windows 操作系统,现代化UI更漂亮

立即下载,安装Windows 11 系统

下载 立即下载
查看视频教程

系统之家一键重装软件下载

永久免费的Windows 系统重装工具

立即下载,安装Windows 系统

下载 立即下载
查看视频教程
当前位置:首页 > windows7教程

浅析Win8.1系统Hosts文件失效的现象及解决方法

分类:windows7教程   发布时间:2015-06-05 16:00:41

  Win8.1系统Hosts文件失效,而且是无缘无故,让人有点摸不着头脑,今天小编带大家了解Win8.1系统Hosts文件失效现象和其中的解决方法。
        推荐:win8.132位下载

Win8.1系统Hosts文件失效的现象及解决方法 三联

  可见hosts文件路径是对的,而且只有一行映射,确保没有其他的干扰项。

 Win8.1系统Hosts文件失效的现象及解决方法

  使用ipconfig /flushdns清理DNS缓存,而且其实我还停止了DNS Client服务的。然后继续ping,依然返回的是真实DNS解析的地址。

 Win8.1系统Hosts文件失效的现象及解决方法

  如图,可见system的权限也是有分配的。下面那个我自己的账户和Admin组的账户的权限也是完全控制的。

  情况就是这样,不知为何最近突然失效了。我可能是遇到什么劫持了么?

  分析处理

  根据引用中我的猜想,我使用了消息记录器来跟踪与hosts文件有关的系统消息。为了对比,我同时在windows 8.1和虚拟机中运行的windows XP下操作,以便作为对比。

  首先我发现其实所有有网络通信功能的程序都会去检测HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDnscacheParameters这个键下面是否存在UseHostsFile值是否存在,数据是多少。但是我发现无论XP还是8.1都没有该值,但是根据之前的实验可知是XP可以正常读取hosts文件的,所以可以断定这个是无关项。(不过根据这个判断,原来Dnscache服务(也就是在服务中显示名称为DNS Client的服务,用于缓存DNS解析的结果)是可以手动强制不读取hosts文件的,修改这个键值即可)

  然后我发现一个怪异的现象,每次我手动修改hosts文件后,在8.1下会显示出一个名为svchost.exe的进程试图访问hosts文件但是结果为Acces Denied。在XP下,也有同样名称的进程试图访问hosts文件但是结果却是Success的。

  根据消息记录器提供的进程的PID,追踪到其承载的服务中有一个共同的服务就是DNS Client。于是可以断定肯定是上述提到的DNS Client服务出现问题了。因为出现访问文件被拒,肯定是帐户问题,于是我习惯性地打开DNS Client的属性页,转到登录选项卡,发现其使用的帐户不是默认本地系统帐户,而是名为“Network Service”的内置安全主体。

  到此一切都明了了,归根到底还是权限问题。DNS Client服务使用的帐户不是system,而是Network Service。虽然我给system帐户赋予了完全的访问控制,但是根据我开篇的截图可以发现,我里面缺少了Network Service的安全主体。而现在我们可以断定system帐户和Network Service安全主体是没有关联的,所以才导致了DNS Client服务启动后无法正常读取hosts文件,而导致hosts文件无效。

  解决办法就是:编辑etc文件夹的访问权限,添加Network Service安全主体并赋予至少允许读取的权限,然后重新启动DNS Client服务即可。目前我的hosts已经一切正常。
        对于Win8.1系统Hosts文件失效的现象及解决方法大家有没有比较了解呢?希望了解更多知识的朋友可以点击查看windows之家官网哦。

 

有用
+
分享到:
关闭
微信暂不支持直接分享,使用“扫一扫”或复制当前链接即可将网页分享给好友或朋友圈。
热门搜索
win10激活工具
当前位置 当前位置:首页 > windows7教程

浅析Win8.1系统Hosts文件失效的现象及解决方法

2015-06-05 16:00:41   来源: windows10系统之家    作者:爱win10

  Win8.1系统Hosts文件失效,而且是无缘无故,让人有点摸不着头脑,今天小编带大家了解Win8.1系统Hosts文件失效现象和其中的解决方法。
        推荐:win8.132位下载

Win8.1系统Hosts文件失效的现象及解决方法 三联

  可见hosts文件路径是对的,而且只有一行映射,确保没有其他的干扰项。

 Win8.1系统Hosts文件失效的现象及解决方法

  使用ipconfig /flushdns清理DNS缓存,而且其实我还停止了DNS Client服务的。然后继续ping,依然返回的是真实DNS解析的地址。

 Win8.1系统Hosts文件失效的现象及解决方法

  如图,可见system的权限也是有分配的。下面那个我自己的账户和Admin组的账户的权限也是完全控制的。

  情况就是这样,不知为何最近突然失效了。我可能是遇到什么劫持了么?

  分析处理

  根据引用中我的猜想,我使用了消息记录器来跟踪与hosts文件有关的系统消息。为了对比,我同时在windows 8.1和虚拟机中运行的windows XP下操作,以便作为对比。

  首先我发现其实所有有网络通信功能的程序都会去检测HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDnscacheParameters这个键下面是否存在UseHostsFile值是否存在,数据是多少。但是我发现无论XP还是8.1都没有该值,但是根据之前的实验可知是XP可以正常读取hosts文件的,所以可以断定这个是无关项。(不过根据这个判断,原来Dnscache服务(也就是在服务中显示名称为DNS Client的服务,用于缓存DNS解析的结果)是可以手动强制不读取hosts文件的,修改这个键值即可)

  然后我发现一个怪异的现象,每次我手动修改hosts文件后,在8.1下会显示出一个名为svchost.exe的进程试图访问hosts文件但是结果为Acces Denied。在XP下,也有同样名称的进程试图访问hosts文件但是结果却是Success的。

  根据消息记录器提供的进程的PID,追踪到其承载的服务中有一个共同的服务就是DNS Client。于是可以断定肯定是上述提到的DNS Client服务出现问题了。因为出现访问文件被拒,肯定是帐户问题,于是我习惯性地打开DNS Client的属性页,转到登录选项卡,发现其使用的帐户不是默认本地系统帐户,而是名为“Network Service”的内置安全主体。

  到此一切都明了了,归根到底还是权限问题。DNS Client服务使用的帐户不是system,而是Network Service。虽然我给system帐户赋予了完全的访问控制,但是根据我开篇的截图可以发现,我里面缺少了Network Service的安全主体。而现在我们可以断定system帐户和Network Service安全主体是没有关联的,所以才导致了DNS Client服务启动后无法正常读取hosts文件,而导致hosts文件无效。

  解决办法就是:编辑etc文件夹的访问权限,添加Network Service安全主体并赋予至少允许读取的权限,然后重新启动DNS Client服务即可。目前我的hosts已经一切正常。
        对于Win8.1系统Hosts文件失效的现象及解决方法大家有没有比较了解呢?希望了解更多知识的朋友可以点击查看windows之家官网哦。

 

标签:
Win8.1系统Hosts文件失效Win8.1系统Hosts文件

本站资源均收集于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时撒销相应资源。

Windows系统之家为大家提供一个绿色的平台 Copyright © 2013-2024 win10.lianlianwj.com 版权所有 京ICP备14010074号-25 粤公网安备 44130202001061号

微信公众号 公众号

扫码关注微信公众号

扫一扫 生活更美好

微信公众号
客服 客服