[英]How can I get DNS records for a domain in python?
如何在 python 中获取区域的 DNS 记录? 我正在寻找类似于dig
输出的数据。
来自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)
您可以使用 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("google.com")
您的另一个选择是pydns ,但最后一个版本是 2008 年的,所以 dnspython 可能是一个更好的选择(我只提到这一点,以防 dnspython 不会让你的船浮起来)。
dns.resolver.query
现在已弃用,建议使用dns.resolver.resolve
:
# python3 -m pip install dnspython
import dns.resolver
answers = dns.resolver.resolve("google.com", 'NS')
for server in answers:
print(server.target)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.