如何找到多个接口的DNS配置?

时间:2016-07-15 20:15:44

标签: python dns

有没有办法在Python中为多个接口找到配置的DNS地址?

我正在运行中间人的DNS代理服务器和HTTP服务器来操作数据,以测试通过多个路由器/接口/网络连接的多个机顶盒。

对于未重定向到我的HTTP服务器的名称,我想使用为请求的接口配置的DNS服务器来解析。某些设备通过企业内部网连接,需要使用公司名称服务器。连接到互联网的设备需要使用公共名称服务器。

确定问题后,我已经更换了

socket.gethostbyname(name)

用dnspython强制命名服务器,但目前有一个令人讨厌的小屋:

resolver = dns.resolver.Resolver()
if internet_connected:
    resolver.nameservers = ['8.8.8.8', '8.8.4.4']
else:
    # Intranet
    resolver.nameservers = ['x.x.x.25', 'x.x.x.26']
address = resolver.query(qname=name, rdtype=u"A")

我想我可以在工具中添加其他配置,但我更喜欢使用机器上已配置的任何配置。

0 个答案:

没有答案