如何检查我的 ISP 是否拦截了发送到备用 DNS 服务器的 DNS 查询?

如何检查我的 ISP 是否拦截了发送到备用 DNS 服务器的 DNS 查询?

以前,我设置了路由器以使用 ISP 提供的 DNS 服务器,但最近我设置了两个本地 DNS 服务器,并将转发器设置为谷歌的公共 DNS。每当我访问一个我认为尚未缓存在本地 DNS 中的网站时,路由器都会报告一大堆从本地 DNS 服务器到谷歌 DNS 服务器的未回复连接。同时,互联网速度会滞后,直到路由器停止报告未回复连接。

据我所知,这可能是由于 ISP 拦截 DNS 查询造成的,我很想检查一下。

答案1

我已经发布了详细的答案这里因为问题类似,而且那个问题比较老。

简而言之:

  1. 最简单的方法是使用Netalyzr(已停用)Android 应用程序或名称台Google 的 Windows 软件。如果您的 ISP 正在使用 DNS 代理,它们会通知您。您无需任何技术知识。

  2. 对权威名称服务器执行 DNS 查找,并检查答复是否具有权威性。在此示例中,我将使用dig。您也可以使用nslookup。如果答复具有权威性,dig 将aa在答复中显示标志。现在,a.ns.facebook.com 是 fb.me 的权威 NS。如果您的 ISP 拦截并重定向请求,您将不会收到权威答复。

    dig @a.ns.facebook.com fb.me

  3. 指定一个没有运行 DNS 服务器的 IP 地址作为执行dig或时的 DNS 服务器nslookup。如果您的 ISP 拦截了您的请求,您仍会收到回复。否则您将收到Time Out

  4. 在随机 IP 地址上使用 nmap。如果您的 ISP 重定向所有端口 53 请求,您将始终看到端口 53 处于打开状态。

  5. 更改您的计算机网络设置并使用 Google 公共 DNS 或 OpenDNS 或 Cloudflare DNS IP(一次使用一种提供商类型)。然后转到DNS 泄漏测试网站并注意是否出现任何不同的提供商。

相关内容