Hosts文件和DNS Client服务的问题

今日下载了Adobe Flash Builder 4.0 用注册机算号安装,注册成功,也patch了Hosts文件,但是重新启动Flash Builder4之后就提示序列号不正确,太奇怪了。用防火墙禁止Flash Builder 4.0后就不提示了序列号错误了。

ping activate.adobe.com显示
正在 Ping activate.wip4.adobe.com [192.150.22.40] 具有 32 字节的数据:

而不是在%SystemRoot%\System32\drivers\etc\hosts文件中写的127.0.0.1,Google了一下原来是DNS Client搞的鬼。

微软对DNS Client的表述是“DNS 客户端服务(dnscache)缓存域名系统(DNS)名称并注册该计算机的完整计算机名称。如果该服务被停止,将继续解析 DNS 名称。然而,将不缓存 DNS 名称的查询结果,且不注册计算机名称。如果该服务被禁用,则任何明确依赖于它的服务都将无法启动。”,这句话是很不负责任的,这个服务就是DNS 查询结果的缓存,从服务名称dnscache就可以看出来,关联两个命令是ipconfig /flushdns 和ipconfig /displaydns,不启用这个服务这两个命令没有任何效果。

从Windows 95年代微软就告诉我们DNS解析先解析hosts文件读取,再查询DNS 服务器,结果顺序变成了

  1. DNS缓存(DNS Client服务);
  2. 本机hosts文件;
  3. 主要DNS server;
  4. 辅助DNS server。

这个太扯淡了,那还让我们修改hosts文件干什么,而且在域里面这个DNS Client还不建议停掉。

所以修改hosts文件的话,需要停用DNS Client。