代码之家  ›  专栏  ›  技术社区  ›  Dave Forgac Eli Bendersky

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

  •  10
  • Dave Forgac Eli Bendersky  · 技术社区  · 17 年前

    dig .

    3 回复  |  直到 17 年前
        1
  •  16
  •   Aditya Jetely ars    6 年前

    试试 dnspython 图书馆:

    您可以在这里看到一些示例:

        2
  •  5
  •   Willem    9 年前

    一个简单的例子来自 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)
    
        3
  •  3
  •   Augustine Tharakan    6 年前

    您可以使用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 .

        4
  •  2
  •   Kurt    17 年前

    pydns 但是最后一次发布是在2008年,所以dnspython可能是一个更好的选择(我只在dnspython不让你的船浮起来的情况下提到这一点)。