nslookup 与 ping 解析出来的域名不一致的问题?为什么 ping 解析出来的 ip 为保留 ip 地址?

2023-08-27 17:01:21 +08:00
 yeandfeng

我在 windows11 的命令行窗口下 分别执行 ping www.baidu.com 和 nslookup www.baidu.com
www.baidu.com 的解析不一样。 在 ping 之前 我看了 hosts 中没有对 www.baidu.com 的解析 也执行过 ipconfig /flushdns 。

ping 的结果如下: PS C:\Users\wswg2> nslookup www.baidu.com Server: dns.google Address: 8.8.8.8

Non-authoritative answer: Name: www.a.shifen.com Addresses: 14.119.104.254 14.119.104.189 Aliases: www.baidu.com

PS C:\Users\wswg2> ipconfig /flushdns

Windows IP Configuration

Successfully flushed the DNS Resolver Cache. PS C:\Users\wswg2> ping www.baidu.com

Pinging www.baidu.com [127.201.0.113] with 32 bytes of data: Reply from 127.201.0.113: bytes=32 time<1ms TTL=128 Reply from 127.201.0.113: bytes=32 time<1ms TTL=128 Reply from 127.201.0.113: bytes=32 time<1ms TTL=128 Reply from 127.201.0.113: bytes=32 time<1ms TTL=128

Ping statistics for 127.201.0.113: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms

2343 次点击
所在节点    程序员
21 条回复
Maxwellwenjie
2023-08-27 17:28:47 +08:00
你 ping 一个其他的网站解析看下是不是也是 127 呢?
我猜测可能是 dns 是本地解析所以 ping 网址的解析是 127
yeandfeng
2023-08-27 17:50:11 +08:00
@Maxwellwenjie 我 ping 出来的都是 127 开始的, 但是 我自己 hosts 文件没有对网址进行解析。
Maxwellwenjie
2023-08-27 18:10:42 +08:00
2 )、如果 hosts 里没有这个域名的映射,则查找本地 DNS 解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。3 )、如果 hosts 与本地 DNS 解析器缓存都没有相应的网址映射关系,首先会找 TCP/IP 参数中设置的首选 DNS 服务器,在此我们叫它本地 DNS 服务器
那就没毛病啊。可能是缓存里有吧,即使缓存没有,你 ping 之后也会加载到缓存里啊,还是变成本地解析
Maxwellwenjie
2023-08-27 18:12:09 +08:00
你 ping 网址和直接 ping ip 就可以说明问题了,就是 dns 解析这一步实在本地完成的
nuk
2023-08-27 18:18:26 +08:00
系统有多接口吧? windows 的 dns 有点烦,它默认会对多个 dns 进行请求,你试试把另外一个接口的 dns 删掉应该结果就一样的了。
yeandfeng
2023-08-27 18:18:28 +08:00
@Maxwellwenjie 你说的这几点 我都试过了 我在 ping 之前都清理了 还使用 ipconfig /displaydns 看过没有记录 之后 ping 会自动添加进去 127 的记录 , 我纠结的是为什么会给我一个 127 的保留地址 ,这个地址感觉应该不是 dns 返回来的 我使用 wireshark 跟踪 nslookup 他返回的地址不是 127 网段的 但是 我使用 wireshark 跟踪 ping 时不产生 dns 和 icmp 协议的包。这个有办法屏蔽掉吗?
yeandfeng
2023-08-27 18:26:08 +08:00
@nuk dns 服务器 我只设置了一个
julyclyde
2023-08-27 18:59:14 +08:00
@yeandfeng 想验证是不是,只需要 tcpdump 或者 strace 就可以了,不必猜
intoext
2023-08-27 19:19:35 +08:00
应该是路由器的事儿了。比如 openwrt 里装了梯子,就容易形成“劫持”导致这种结果。
其实楼主可以试试拿手机做热点带电脑上网, 如果没有这情况,不就更能说明问题了。
yeandfeng
2023-08-27 19:39:36 +08:00
@intoext 路由器没有安装梯子,不过系统使用了 clash for window 软件,我也用手机的热点效果也是一样的 还是 127 网段的, 现在就是想着怎么可以 ping 可以 ping 出来非 127 的地址。
yeandfeng
2023-08-27 19:42:53 +08:00
@julyclyde 我用的时 windows 系统 使用 wireshark 跟踪过 nslookup 了
intoext
2023-08-27 20:33:42 +08:00
@yeandfeng 很明显了是 clash 的问题啊。装在系统上了,就影响系统了。 停用或卸载看看不就清楚了嘛
Bingchunmoli
2023-08-27 20:44:33 +08:00
明显是开了 clash 的 tun 。也就是 fakeip ,你可以看下文档
Hconk
2023-08-27 20:58:41 +08:00
@Bingchunmoli 没错,fakeip 模式,lz 查查资料了解下吧
ByteCat
2023-08-27 22:10:04 +08:00
你都说用了 Clash for Windows 了,这个是 fakeip 模式,劫持 DNS 的,防止污染
shenyuzhi
2023-08-28 01:10:35 +08:00
原因估计和 Mac 一样。Mac 里面的 ping 和 dig ,对域名解析的处理是不一样的。ping 走的是系统的域名解析,dig 完全是自己处理的解析,和系统几乎没关系。
vicv
2023-08-28 09:53:58 +08:00
可以去了解一下“DNS 负载均衡”,可能是这个东西导致的,大型网站一般都有这个东西。
yeandfeng
2023-08-29 20:23:10 +08:00
@Bingchunmoli 已经试过了 都卸载掉了 还是不可以
yeandfeng
2023-08-29 20:23:45 +08:00
@intoext 不行 卸载掉还是不可以
yeandfeng
2023-08-29 20:25:03 +08:00
@vicv 应该不是这个的原因 就算是负载均衡也不应该返回一个保留地址的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/968658

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX