在 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?
答案 0 :(得分:0)
我想我在 resolver.py 脚本的源代码中找到了它:
在 read_registry 函数中,它在 HKLM\System\CurrentControlSet\Services\Tcpip\Parameters 下的注册表中查找,然后在 HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces,我认为它会遍历接口并将它们添加到列表中(如果找到)
我有一个旧的连接卡在这里(我想那个虚拟接口不再使用了)所以我刚刚从注册表中删除了这个键,现在它没有添加那个 ip