如果我ping www.google.com
在某台计算机上运行 Windows 10,它会说
Ping request could not find host www.google.com. Please check the name and try again.
如果我运行ipconfig /flushdns
并随后再次尝试,它会按预期解析 IP,并在短时间内像其他 DNS 查找一样工作。
我尝试禁用“DNS客户端”Windows服务,但是并没有解决问题(尽管重新启动该服务具有与上述暂时正常工作相同的效果)。
我尝试了网络诊断工具并通过 Windows 设置屏幕进行了完整的“网络重置”。
一些可能值得注意的事项是
- 连接到此网络的另一台计算机运行正常
- 这个网络上的这台电脑曾经运行正常,后来就停止工作了
- 很确定这台电脑可以在另一个 wifi 网络上运行
- 运行 sfc /scannow 未检测到任何完整性违规
以下是出现问题时网络上的一些调试输出:
>nslookup www.google.com DNS 请求超时。 超时为 2 秒。服务器:未知地址:209.18.47.62 DNS 请求超时。 超时为 2 秒。DNS 请求超时。 超时为 2 秒。DNS 请求超时。 超时为 2 秒。DNS 请求超时。 超时为2秒。 *** 向 UnKnown 发出的请求已超时
>netsh interface 显示接口 管理状态 状态类型 接口名称 ------------------------------------------------------------------------- 已启用 已断开连接的专用 Wi-Fi 已启用连接专用以太网 2
以下是 nslookup 运行后的输出ipconfig /flushdns
:
>nslookup www.google.com 服务器:dns-cac-lb-02.rr.com 地址:209.18.47.62 非权威答案: 名称:www.google.com.socal.rr.com 地址:198.105.254.228 198.105.244.228
答案1
您的 DNS 查询要么被劫持,要么格式不正确
证据
您的命令的输出nslookup www.google.com
是:
服务器:dns-cac-lb-02.rr.com
地址:209.18.47.62非权威答案:
名称:www.google.com.socal.rr.com
地址:198.105.254.228
198.105.244.228
观察结果
- 对您的查询的回答
www.google.com.socal.rr.com
并非预期的www.google.com
。 - 您查询的 DNS 服务器与错误答案的记录位于同一域中:
rr.com
理论 1:DNS 劫持
您对 www.google.com 的 NSLOOKUP 应该返回 Google IP 地址和名称www.google.com
。但您得到的是完全不同的名称记录和一个 IP 地址 (198.105.254.228),注册于一家名为 Search Guide Inc. 的公司(来源1 来源2)。
如果你的 ISP 是时代华纳有线(或其子公司),那么这是一个毫无疑问的解释,因为根据这个超级用户的回答,解析为 IP 地址 198.105.254.228 的 DNS 查询是您的 ISP 劫持您的 DNS 结果作为“服务”的一部分,以便在您输入无效的 Internet 地址时为您提供搜索结果。如果是这种情况,您可以在时代华纳的网站上禁用此功能这里。
即使您的 ISP 不是时代华纳,处理您的请求的 DNS 服务器与您收到的无效 DNS 答案之间仍然存在联系。如 GoDaddy 所示,www.google.com.socal.rr.com
该域名注册于时代华纳有线电视公司rr.com
WHOIS 查询:
Domain Name: rr.com
{...portions removed...}
Admin Name: Domain Name Administrator
Admin Organization: Time Warner Cable Inc.
Admin Street: 60 Columbus Circle,
Admin City: New York
Admin State/Province: NY
Admin Postal Code: 10023
Admin Country: US
{...portions removed...}
Name Server: dns2.rr.com
Name Server: dns6.rr.com
Name Server: dns3.rr.com
Name Server: dns5.rr.com
Name Server: dns1.rr.com
因此,如果理论 1 是正确的,则您需要按照上述方法禁用此首选项,或者完全使用不同的 DNS 服务器。
理论 #2:DNS 查询格式不正确
如理论 1 中所述,www.google.com
即使用户请求不存在的 Internet 主机名,处理 NSLOOKUP 的 DNS 服务器也会返回“有效”的 DNS 记录。您可以通过查找故意无效的名称来确定是否发生了此错误重定向:
nslookup no-such-site.example.com
你应该得到这个回应:
Server: <your DNS server name>
Address: <your DNS server IP>
*** <your DNS server name> can't find no-such-site.example.com: Non-existent domain
但是,如果您收到与问题类似的答复,则显然无效请求被拦截并重定向到错误查找/广告网页。
确定这一点后,理论 2 提出,当您对系统进行搜索时,www.google.com
会在 DNS 请求中添加另一个后缀,这会导致查找请求无效,从而触发 DNS 服务器的错误重定向服务。
您可以通过运行以下命令并检查其输出来确定是否是这种情况:
nslookup -d2 www.google.com
该-d2
参数使 NSLOOOKUP 打印出为解决查找请求而提交的确切问题和答案。
在输出中,在每个发送请求()部分检查问题:提交。前几个将用于解析 DNS 服务器的名称。接下来是用于解析 www.google.com 的查找。基本上,您要查找的是任何查找请求以外www.google.com
,例如。www.google.com.socal.rr.com
如果你找到任何,那么你的机器实际上正在进行无效的 DNS 查找。这与理论 1 的提议不同,理论 1 认为您的机器正在进行有效的查找请求,但被错误地修改了。
如果您的机器发出了错误的查找请求,您需要检查 TCP/IP 配置中指定的域名后缀并删除任何不属于的域名后缀。
第 #2 期
以下是出现问题时网络上的一些调试输出:
nslookup www.google.com DNS 请求超时。超时为 2 秒。服务器:未知地址:209.18.47.62
在这种情况下,您的计算机根本无法访问 DNS 服务器,这表明存在网络连接问题。这并不能解释为什么您的 DNS 查找结果无效,而且可能有其他不相关的原因。无论如何,如果您的计算机发生这种情况时网络上的其他计算机运行正常,则强烈表明问题出在此 DNS 服务器上,而不是您的网络上。
同样,在这种情况下,使用不同的 DNS 服务器应该可以解决问题。