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

d4so4syb  于 2023-06-28  发布在  Python
关注(0)|答案(4)|浏览(154)

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

mkshixfv

mkshixfv1#

一个简单的https://c0deman.wordpress.com/2014/06/17/find-nameservers-of-domain-name-python/例子:

import dns.resolver
 
domain = 'google.com'
answers = dns.resolver.resolve(domain,'NS')
for server in answers:
    print(server.target)
332nm8kg

332nm8kg2#

你可以使用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")

更多信息:

  • socket.gethostbyaddr()
  • socket.gethostbyname()
9jyewag0

9jyewag03#

您的另一个选择是pydns,但最后一个版本是2008年,所以dnspython可能是一个更好的选择(我只提到这一点,以防dnspython不能让您的船浮起来)。

6ovsh4lw

6ovsh4lw4#

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)

相关问题