如何在python中获取域的DNS记录?

时间:2009-07-21 23:11:15

标签: python dns

如何在python中获取区域的DNS记录?我正在寻找类似于dig输出的数据。

4 个答案:

答案 0 :(得分:13)

试用dnspython库:

你可以在这里看到一些例子:

答案 1 :(得分:2)

你的另一个选择是pydns,但最后一个版本是截至2008年,所以dnspython可能是一个更好的选择(我只提到这个,以防dnspython不能漂浮你的船)。

答案 2 :(得分:2)

您可以使用python的套接字库从IP地址或域名获取DNS记录

import socket

# if ip address is available
DNS_record = socket.gethostbyaddr("66.249.65.189")

# if domain name is available
DNS_record = socket.gethostbyname("https://google.com")

有关此的更多信息,请转到页面https://docs.python.org/2/library/socket.html#:~:text=gethostbyaddr()%20supports%20both%20IPv4%20and%20IPv6.&text=Translate%20a%20socket%20address%20sockaddr,or%20a%20numeric%20port%20number

答案 3 :(得分:1)

来自http://c0deman.wordpress.com/2014/06/17/find-nameservers-of-domain-name-python/的简单示例:

import dns.resolver

domain = 'google.com'
answers = dns.resolver.query(domain,'NS')
for server in answers:
    print(server.target)