【问题标题】:How can I get DNS records for a domain in python?如何在 python 中获取域的 DNS 记录?
【发布时间】:2010-11-12 19:56:21
【问题描述】:

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

【问题讨论】:

    标签: python dns


    【解决方案1】:

    你可以使用python的socket库从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")
    

    有关这方面的更多信息,请访问此页面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

    【讨论】:

      【解决方案2】:

      试试dnspython 库:

      您可以在此处查看一些示例:

      【讨论】:

      【解决方案3】:

      来自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)
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2020-01-13
          • 2011-08-19
          • 2013-09-18
          • 2014-06-11
          • 1970-01-01
          • 2017-05-13
          • 1970-01-01
          • 2010-09-10
          • 1970-01-01
          相关资源
          最近更新 更多