![浏览器中所有无效主机名均解析为 localhost。这是怎么回事?](https://linux22.com/image/1361204/%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%E6%89%80%E6%9C%89%E6%97%A0%E6%95%88%E4%B8%BB%E6%9C%BA%E5%90%8D%E5%9D%87%E8%A7%A3%E6%9E%90%E4%B8%BA%20localhost%E3%80%82%E8%BF%99%E6%98%AF%E6%80%8E%E4%B9%88%E5%9B%9E%E4%BA%8B%EF%BC%9F.png)
更新:跳到这个问题的末尾,看看这个史诗故事的圆满结局。
注意:我已在本地安装了 IIS7,用于 Web 开发。
以下是我在浏览器中访问随机网站时发生的情况:
这是一个完全乱码的 URL解析为我的本地主机网络服务器。(所有乱码主机都会这样做 - 不仅仅是一个。)
这影响了我们公司的几个人……但似乎没有影响全部我们。
以下是我目前所做的故障排除:
- 检查了我的代理设置 - 全部清除
- 检查了我的主机文件 - 全部清除
- 检查了其他浏览器 - 它影响 Chrome、Chrome Incognito 和 Internet Explorer
Ping/nslookup google 和一个随机的乱码 URL:
C:\用户\mharen>ping google.com
正在 Ping google.com [74.125.228.98],数据为 32 字节:来自 74.125.228.98 的回复:字节=32 时间=21ms TTL=51 ...
C:\用户\mharen>nslookup google.com
服务器:(我的 DNS)地址:192.168.48.20
非权威答案:名称:google.com 地址:2607:f8b0:4004:803::100e 74.125.228.100 ... 74.125.228.98
C:\用户\mharen>ping somerandomsitesoaosoasda.com
Ping 请求无法找到主机 somerandomsitesoaosoasda.com。请检查名称并重试。
C:\用户\mharen>nslookup somerandomsitesoaosoasda.com
服务器:(我的 DNS)地址:192.168.48.20
***(我的 DNS)找不到 somerandomsitesoaosoasda.com:不存在的域
这正是我所期望的——好的域名可以解析,坏的则不能。那么我的浏览器到底出了什么问题?
有任何故障排除技巧吗?
更新:ipconfig /displaydns
我刚刚运行了ipconfig /displaydns
,结果非常棒。以下是几十条优秀记录中的一个有趣条目:
somerandomsitesoaosoasda.com
----------------------------------------
Name does not exist.
更新:尝试新的 DNS 服务器:
如果 ping 和 nslooking 不足以排除我的 DNS 服务器,我按照 Joshua 的建议切换到 Google 的 DNS。不幸的是,问题仍然存在。
更新:已修复!
在 Joshua 所链接的答案的帮助下,我们确定此命令解决了该问题:
netsh winsock reset all
我们前后运行了这个命令来查看它有什么变化:
netsh winsock show catalog
reset
运行该命令后,发现有 10 个条目缺失,如下所示:
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Layered Chain Entry
Description: BarracudaWSA over [MSAFD Tcpip [TCP/IP]]
Provider ID: {FECB95F8-BE34-4B8A-A1ED-16A678A8ACC6}
Provider Path: C:\windows\system32\BarracudaWSA64.dll
Catalog Entry ID: 1017
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 1
Protocol: 6
Service Flags: 0x66
Protocol Chain Length: 2
Protocol Chain: 1016 : 1001
事实证明,BarracudaWSA(Web Security Agent)是 IT 安装的网络过滤器。
答案1
一些想法:
- 您确定这是您的本地主机吗?或者...可能是您的 DNS 服务器也在运行 IIS,并为无法解析的域名提供默认页面?您是否尝试过禁用本地 IIS 服务器?
- 也要怪DNS服务器,难道DNS服务器对于不存在的域返回127.0.0.1?
- 您是否检查过本地路线,看是否有任何异常?要查看,请打开命令提示符并输入“route print”。
如何测试DNS服务器是否配置错误:
打开本地网络适配器设置,将 IPv4 和/或 IPv6 DNS 设置从“自动获取 DNS 服务器地址”更改为“使用以下 DNS 服务器地址”。
将首选和备用设置为其他内容,例如 Google 公共 DNS 或 Neustar 的 DNS Advantage:
再次尝试不良域名。
为了胜利:这个家伙的回答(似乎让你到了正确的地方): 我的所有浏览器突然不再支持 Javascript 文件了?
恭喜。很高兴我至少能帮你找到正确的方向 :)