我知道如何查询DNS使用工具喜欢dig,host等等。但他们的MacOS手册页状态:
DNS 查询的结果也可能与使用 macOS DNS 路由库的查询不同。
鉴于此,如何在终端中查询 DNS 并获得与本机 macOS 应用程序相同的结果?
在测试 DNS 更改时,我有时会看到 unix 工具和本机 mac 应用程序之间的不同结果。这是我遇到的一个例子:
$ dig +short example.com
192.168.0.100
Run Code Online (Sandbox Code Playgroud)
dig 显示 DNS 查询返回由我们自己的 DNS 服务器处理的本地地址。同时使用 macOS 的“网络实用程序”查找返回缓存结果:
使用 macOS 网络可达性工具,我也得到了一个缓存结果(对于那些不熟悉输出的人,IP 地址显示在最后一行):
$ scutil -W -r example.com
0: direct
<SCNetworkReachability 0x7f8a39605ab0 [0x7fffa3c088f0]> {name = example.com}
Reachable
1: start
<SCNetworkReachability 0x7f8a39606000 [0x7fffa3c088f0]> {name = example.com}
2: on runloop
<SCNetworkReachability 0x7f8a39606000 [0x7fffa3c088f0]> {name = example.com (DNS query active), flags = 0x00000002, if_index = 13}
Reachable …Run Code Online (Sandbox Code Playgroud)