dns.resolver.Resolver() 如何找到域名服务器?

时间:2021-04-22 06:17:22

标签: python dns

在 Windows 机器上,我遇到了一个问题,即 Resolver() 使用的名称服务器不是 dns 服务器。我不知道它从哪里获取服务器 ip。

python 代码:

import dns.resolver

my_resolver = dns.resolver.Resolver()
print(my_resolver.nameservers)
['<ip address that is not a dns server>', '<dns server>', '<dns server>']

运行 ipconfig /all 不会返回名称服务器列表中的第一项,它只显示“正在工作”的 dns 服务器

我尝试在 HKLM\System\CurrentControlSet\Services\Tcpip\Parameters 处查看注册表,但错误的服务器也不存在

我的问题是 dns.resolver.Resolver() 在 Windows 机器上从哪里获取 dns 服务器 ips?

1 个答案:

答案 0 :(得分:0)

我想我在 resolver.py 脚本的源代码中找到了它:

在 read_registry 函数中,它在 HKLM\System\CurrentControlSet\Services\Tcpip\Parameters 下的注册表中查找,然后在 HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces,我认为它会遍历接口并将它们添加到列表中(如果找到)

我有一个旧的连接卡在这里(我想那个虚拟接口不再使用了)所以我刚刚从注册表中删除了这个键,现在它没有添加那个 ip

相关问题