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

How does dns.resolver.Resolver() find nameservers?

在 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 不是 return 名称服务器列表中的第一项,它只显示“工作中的”dns 服务器

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

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

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

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

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