nslookup 正在运行;ping -4 name.com 不起作用
最明显的症状这个问题的原因是nslookup
正在工作,而ping -4 name.com
不工作。
这是因为nslookup
它包含自己的 DNS 客户端,因此不使用 Windows 客户端。
ping
当给定名称时,使用 Windows DNS 客户端将名称转换为数字。
因此,如果nslookup
可以进行翻译,那么很多事情都可以进行:网络硬件、NIC 适配器驱动程序、与 DNS 服务器的互联网连接,以及成功访问服务器进行翻译。这可真是不少啊!
但是,ping -4 name.com
如果所有其他东西都正常工作,则 Windows DNS 客户端软件本身就会受到影响。
请注意,我确实ping -4
将 IPv4 隔离开来,排除了 IPv6 的影响。
displaydns 失败
这就是为什么描述实际的问题是
ipconfig /displaydns
报告:
Could not display the DNS Resolver Cache.
但 DNS 客户端正在运行
阅读论坛,出现此症状的最可能原因是 DNS 客户端(又名dnscache
)服务未运行;然而对我们来说,它是正在运行的。
我们做到了
net stop dnscache
net start dnscache
sc query dnscache
并且处于开启状态。
这不是 DNS 后缀
另一种可能性是 DNS 后缀正在使用中。但是,进入网络和共享中心 -> 更改适配器设置 -> 无线网络连接 -> 属性 -> Internet 协议版本 4 属性 -> 高级 -> DNS 选项卡,我们有:
[已检查] 附加主要和连接特定的 DNS 后缀
- [已检查] 附加主 DNS 后缀的父后缀
[未选中] 附加这些 DNS 后缀
(并且列表框为空)
此连接的 DNS 后缀:
[已选中] 在 DNS 中注册此连接的地址 [未选中] 在 DNS 注册中使用此连接的 DNS 后缀。
但是,我不确定这是否重要,因为我们无法访问 goolge.com,即 FQDN。
更多信息
我们暂时禁用了 IPv6 以进行调试。因此,此处报告的所有内容都是在 IPv6 关闭的情况下进行的。
nslookup
google.com
和其他一切都运行可靠。
然而,
ping -4 google.com
说
Ping request could not find host google.com
浏览时显示 DNS 错误。
现在,我了解到它nslookup
有自己的 DNS 客户端,独立于 Windows。这让我相信nslookup's
DNS 客户端没有问题,而 Windows 不知为何损坏了。
确实,我们可以通过 IP 地址浏览谷歌和其他网站,但不能通过名称浏览。
ping
通过 IP 地址可以正常工作。通过 IP 地址也可以tracert
。
非 DirectAccess
问题似乎不是 DirectAccess:
netsh dns show state
报告(以及其他内容)
Network Location Behavior Never use Direct Access settings
Direct Access Settings Not Configured
Wireshark
nslookup
显示名称查询期间的 Wireshark 捕获。
但是执行 ping 的捕获结果显示没有此类查询。事实上,根本没有任何活动(除了后台)。这表明 Windows DNS 客户端甚至没有尝试访问互联网并转换名称,这与其无法显示 DNS 相一致。
其他说明
为c:\windows\system32\drivers\etc\hosts
空(仅评论)。
当 DNS 服务器设置为大学的 DNS 服务器时,或者设置为 google 的 8.8.8.8 和/或 8.8.4.4 和/或 OpenDNS 的 208.67.222.222 和/或 208.67.220.220 时,就会出现问题。这是有道理的,因为 Wireshark 报告称 Windows 甚至没有发送名称查询。
问题发生在热崩溃之后。但是,能够通过 IP 规则浏览硬件问题,除非硬盘损坏。但是chkdsk
没有报告任何坏扇区,也sfc
没有发现任何损坏。
我们还在设备管理器中卸载了网络适配器,并让它自动重新安装。还在 Windows 上检查了此适配器的更新。没有。
崩溃意味着需要重启,所以可能是 Windows 更新有问题。但是,在此之前和最近的 Windows 更新之后,已经重启过几次。
我们针对 rootkit 运行了 Malwarebytes Anti-Malware,还有他们的 Malwarebytes Anti-Rootkit beta、TDSSKiller 和 Comodo Cleaning Essentials (CCE,但似乎尚未更新)。
尚未尝试过在带网络连接的安全模式下运行。
我们主要使用大学路由器,但是连接到智能手机的热点时也会出现问题。
ipconfig
报告了 5 个隧道适配器,但它们都报告“媒体断开连接”。其中 2 个看起来是大学特有的。
ipconfig
和设备管理器都报告Microsoft Virtual WiFi Miniport Adapter
。这是什么?会不会是问题所在?
多次重启电脑后,问题仍然相同。
这是一台笔记本电脑,大部分操作都是通过无线连接完成的,但有线连接似乎也有相同的行为。
概括
因此,看起来 Windows DNS 客户端已损坏或至少在某种程度上出现故障,但我不确定如何找出原因。
(顺便说一句,我在另一台电脑上写这篇文章)
编辑:
@Kris 想看看ipconfig /all
C:\Users\[username]>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : <<<====NOTE NO HOST NAME
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : ed*****.***l.edu
Wireless LAN adapter Wireless Network Connection 2:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Virtual WiFi Miniport Adapter
Physical Address. . . . . . . . . : xx-xx-xx-xx-xx-xx
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Wireless LAN adapter Wireless Network Connection:
Connection-specific DNS Suffix . : ed*****.***l.edu
Description . . . . . . . . . . . : Broadcom 802.11n Network Adapter
Physical Address. . . . . . . . . : xx-xx-xx-xx-xx-xx
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 10.131.2.**(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.128.0
Lease Obtained. . . . . . . . . . : Monday, April 27, 2015 11:32:13 AM
Lease Expires . . . . . . . . . . : Monday, April 27, 2015 11:47:13 AM
Default Gateway . . . . . . . . . : 10.131.0.1
DHCP Server . . . . . . . . . . . : 132.236.56.249
DNS Servers . . . . . . . . . . . : 192.35.82.50
128.253.180.2
132.236.56.250
NetBIOS over Tcpip. . . . . . . . : Enabled
Ethernet adapter Local Area Connection:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : r****.****l.edu
Description . . . . . . . . . . . : Broadcom NetLink (TM) Gigabit Ethernet
Physical Address. . . . . . . . . : xx-xx-xx-xx-xx-xx
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter Reusable ISATAP Interface {CBE4B55D-63C6-460A-82CF-7076427CD2AF}:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft ISATAP Adapter #2
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter isatap.e****.****l.edu:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft ISATAP Adapter #3
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter Local Area Connection* 9:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter isatap.{270C639B-82A2-4AE7-B886-D40DAA7EF798}:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft ISATAP Adapter #4
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter isatap.r****.****l.edu:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft ISATAP Adapter #5
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
编辑2:
尝试过
netsh int ip set dns "wireless network connection" static 8.8.4.4
net winsock reset
并重新启动,但没有任何改变。
尝试了这个优秀的网站(感谢@Kris)Windows 7:服务 - 在 Windows 7 中恢复默认服务并下载了它们DNS_Client.reg
(并为安全起见命名.reg.txt
)并将其与现有的注册表项进行比较HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache
,但遗憾的是,它们是相同的。
答案1
我们找到了答案在 edugeek.com 上并以此作为指导。我们的明确行动如下所述。
EduGeek 上的答案首次出现在shoeib 发帖 13谁说他们是从那个线程中得到了答案,但是到那时为止,我在该线程中没有看到任何可以暗示该答案的东西。
fencecat42 发帖 20更加详细地阐述。
具体来说,
在注册表项中:
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters
以下“值”(MS 将其称为混淆词,每个值都可以包含“数据”)是丢失的
Domain
Hostname
NV Hostname
这三个在 fencecat42 和我们的系统中都缺失。
现在,值得称赞(好吧,差不多 ;) @Kris 因为ipconfig /all
他们要求我发布的内容中就有这个问题的证据。请注意,在我发布的输出中没有。这是来自注册表的Host Name
同一个。Hostname
我不太愿意编辑注册表,因为一次错误的按键就可能导致系统无法启动,在这种情况下,希望你已经进行了系统还原或复制了注册表(我最喜欢的方法是 ERUNT 和 Tweaking.com Windows Repair All-In-One(其中包括一个注册表保存工具)(我在 techsupportalert.com 上找到了这些工具))
因此,要设置Hostname
,我们只需进入控制面板->系统。(通常“更改设置”链接在第一个屏幕中不可见;您必须向下滚动。此步骤需要 UAC 授权。设置后,您必须重新启动。)
此操作设置两个都Hostname
和NV Hostname
注册表中的“值” 。
我们找不到非注册表编辑方法来编辑Domain
“值”。(也许可以netdom
,但我们在 Windows 7 Home Premium 系统上没有这个。)所以我们使用注册表来设置Domain
为空值。我们使用regedit
,导航到该Tcpip/Parameters
键,右键单击 -> 新建 -> 字符串值。这将创建一个新的“值”,并设置您输入其名称,更改默认的新名称。然后我们不必为这个“值”创建实际的“数据”(再次原谅 MS 的反直觉术语)。刚刚创建了它,但其“数据”尚未初始化。
注意:我们在仅设置主机名后尝试联网。没有成功。Domain
需要(即使为空)。我们没有尝试创建域(且为空),但没有创建和设置主机名。但我认为这是一个有趣的实验。
反思
第一的,
我现在不记得了,但我怀疑我们试过了微软的“如何使用 NetShell 实用程序重置 TCP/IP”即
netsh int ip reset c:\resetlog.txt
(或者您想要的日志文件的任何路径和文件名)。
MS 页面上的内容如下:
运行重置命令时,它会覆盖以下注册表项,这两个注册表项均由 TCP/IP 使用:
SYSTEM\CurrentControlSet\Services\Tcpip\Parameters SYSTEM\CurrentControlSet\Services\DHCP\Parameters
[似乎我们更改了相同的注册表项,但 MS 只是没有显示其所有层次结构。--john v kumpf]
这与删除并重新安装 TCP/IP 具有相同的效果。要成功运行手动命令,必须指定将记录 netsh 操作的日志文件的名称。(此日志文件在本节前面的手动过程中称为“resetlog.txt”。)
也许,这个重新安装过程会覆盖这些注册表项,并且无法写入主机名和域? 或许?
如果是这样,那么对我们真正有效的是执行 MS ip 重置,然后设置那些注册表项。
第二,
我们的问题是在因过热而崩溃后重新启动后出现的。很难将该事件与问题联系起来。一种可能性是过热导致磁盘的一小部分块崩溃,而其中一个块恰好保存了 Tcpip 注册表项值的一部分。不太可能,但我想是有可能的。
或者,如果重新安装 TCP/IP曾是必要的是,磁盘块破坏了 TCP/IP 服务,我们必须重新安装它,然后修复它。
第三,
这是相当有趣的结果。这意味着 Windows DNS 客户端Domain
在注册表中查找这 3 个“值”中的 2 个或全部。如果找到了,那就没问题。如果找不到,特别是找不到 ,Domain
就会出错并失败。没有错误报告 [1]。
我认为我们可以从这些证据中得出这样的结论:这是 Windows DNS 客户端的一个错误我们可以证明这一点,因为它适用于空的域值,这意味着软件实际上无法使用它,这意味着为什么需要它存在(即使是空的)才能正常运行?那是一个错误。
[1]第四,
那里可能有错误报告,但事件查看器中的常见位置没有显示(层次结构:事件查看器(本地)-> Windows -> 应用程序和系统)。还有其他日志,许多日志默认情况下未打开,可能有一些输出,尤其是
- 事件查看器(本地)
- 应用程序和服务本地
- 微软
- 视窗
- DNS 客户端事件
- Microsoft-Windows-DHCP 客户端事件/管理
- Microsoft-Windows-DHCP 客户端事件/操作
但也可能
- 事件查看器(本地)
- 应用程序和服务本地
- 微软
- 视窗
- Dhcp* -> *
- 诊断-网络 -> 操作
- Iphlpsvc -> 运行
- NCSI -> 运行
- NDIS -> 运行
- 网络访问保护
- 操作
- 西海岸公路
- 网络配置文件 -> 操作
- NlaSvc -> 操作
- NTLM -> 操作
- WebIO -> NDF/诊断
- Winsock 目录更改 -> 操作
- Winsock 网络事件 -> 操作
- 有线自动配置 -> 运行
- WLAN-自动配置 -> 运行
第五,
在花了很多小时研究这个问题之后,我发现这个问题通常很难调试,而且有些“奇怪”。
例如spiceworks 上的这篇文章,问题在于 DNS 服务器中的证书已过期。
香料工坊的海报“拉古纳的盖伦”建议一种方法来完全卸载 Windows 7 中的 TCP/IP 堆栈并让 Windows 重新安装它。我怀疑这在我们的例子中会起作用,因为它会恢复Tcpip
注册表项。(但请参阅上面的 MS 帖子。)
spiceworks 的海报 ILS建议afd.sys
驱动程序可能有木马或以某种方式损坏,并建议如何更换它。(afd
代表 Winsock 的“辅助功能驱动程序”。)
这篇超级用户帖子为什么“nslookup”工作正常而“ping”无法解析名称?这个问题有 35 个赞成票,最佳答案有 27 个,是一个很好的参考。在那里,人们报告了“其他解决方案”,包括:
- 多个默认网关
- 网络上有两台 PC 具有相同的 IP 地址
- Windows 7 多标签 DNS 查询问题(无论它是什么)
此外,人们报告说这个问题可能是由“rootkit”引起的。我建议任何遇到此问题的人运行一些 rootkit 扫描器/清除程序。bleepingcomputer.com 是一个获取建议的好地方。或者阅读Gizmo 的最佳免费 Rootkit 扫描器/清除器,网址:techsupportalert.com
第六,
论坛上有证据表明这个问题大多数时候都得不到解决。
其中一张海报是“拉古纳的盖伦”,来自 spiceworks说这就是他们通常要做的。
同一篇超级用户帖子为什么“nslookup”工作正常而“ping”无法解析名称?这个问题有 35 个赞,最佳答案有 27 个,最佳答案的作者说,“在这种情况下,一些网站还建议卸载并重新安装 SP3。”
和,这位可怜的超级用户尝试了所有方法,但没有得到答案,18 天后不得不修复安装
第七,
如果这不能解决问题,有用的提示你的问题:在互联网上搜索 Windows DNS 问题时,请注意很多帖子都在谈论 Windows用作 DNS 服务器的服务器。我们的问题是,我们有一台普通的旧电脑通过路由器连接到互联网,而我们的 DNS客户软件无法正常工作。有时阅读帖子时我会忽略这一区别。
第八,
如果你去搜索的话,另一个有用的提示是:我们发现发布的许多此类问题都具有我们所没有的属性:
- 大楼内的本地 DNS 服务器(我们的是公共 DNS 服务器,例如 google 的 8.8.8.8)。
- 无法翻译建筑物内本地节点的名称(我们试图访问公共互联网网站,如 www.google.com)
- Windows 域的一部分和/或使用 Active Directory,例如在公司环境中(我们只是将我们的 PC 连接到无线路由器)
我希望我们的回答能帮助到别人。
答案2
我将重新安装所有网络驱动程序,并将静态 DNS 设置为 8.8.8.8 和 8.8.4.4(谷歌主 DNS 服务器和辅助 DNS 服务器)。
答案3
尝试使用以下方法刷新 DNS 缓存:
ipconfig /flushdns
如果失败,可能需要尝试通过从命令提示符启动 services.msc 来检查 DNS 客户端服务。找到名为“DNS 客户端”的服务,并确保其启动方式设置为“自动”,并且该服务已启动。
答案4
我遇到了同样的问题,我的注册表似乎没问题,暂时修复此问题的唯一方法是启动:ipconfig /renew
。我将尝试重置 IP 堆栈,如果找到解决方案,我将发布更多信息...