nslookup 使用相同的 DNS 服务器,结果不同吗?

nslookup 使用相同的 DNS 服务器,结果不同吗?

我对 nslookup 的理解是,当您告诉它使用哪个 DNS 服务器时,您正在绕过 NIC 定义的 DNS 服务器,对吗?

下面是一个示例,当我从家里运行 nslookup 时:nslookup - 8.8.8.8

> 我的域名.com

当我从不同网络上的另一台机器运行相同的 nslookup 命令时,它返回不同的(且错误的)结果。

我是否错误地预期它应该询问 8.8.8.8 它存储了什么作为该域的 IP,并且应该与我在世界任何地方的任何设备运行该特定查找命令保持一致?

此外,当我使用网络上的典型工具(例如 mxtoolbox.com 和 whatismydns.com)时,它们都显示正确的 IP。只有我的家庭网络没有显示。

答案1

是的,当您指定要使用的 DNS 服务器时nslookup,它应该将其 DNS 查询数据包直接发送到您指定的 DNS 服务器。

请注意,CDN(内容分发网络,如 Akamai、CloudFlare 和许多其他网络,包括所有知名网站的内部 CDN)通常会向不同的客户端提供不同的 DNS 结果,以便将您指向距离您的客户端设备地理/拓扑最近的边缘节点服务器。

再说了,DNS 默认并不安全,因此很容易受到“中间人”(MitM)攻击。

我可以想象家庭网关路由器供应商设计他们的路由器来拦截和回复 DNS 查询。在我看来,这是一个糟糕的设计选择,但我可以想象它正在被实现。

我还可以轻松想象您的路由器被恶意软件感染或被攻击者(可能是某种僵尸网络运营商)恶意重新配置以对您的 DNS 查找进行中间人攻击。

不明智/不值得信任的 ISP 也可能会这样做,尤其是在互联网访问政策严格的国家。

相关内容