How do we get TXT, CNAME and SOA records from dnspython?

前端 未结 3 567
暗喜
暗喜 2021-02-04 07:34

I have a requirement to have a dns query function to query a server for various records. I figured out how to get the MX record (most of the examples show this), A record and NS

3条回答
  •  自闭症患者
    2021-02-04 08:06

    Exampling with a previous answer, create the dnsdig.py file with:

    import sys
    import socket
    import dns.resolver
    
    print 'Argument List:', str(sys.argv)
    site = sys.argv[1]
    dns_server = sys.argv[2]
    
    # Basic CNAME query the host's DNS
    for rdata in dns.resolver.query(site, 'CNAME') :
        print rdata.target
    
    # Basic A query the host's DNS
    for rdata in dns.resolver.query(site, 'A') :
        print rdata.address
    
    # Setting an specific DNS Server
    resolver = dns.resolver.Resolver()
    resolver.nameservers = [socket.gethostbyname(dns_server)]
    
    # Basic CNAME query with the specific DNS server
    answer = resolver.query(site, 'CNAME');
    for rdata in answer :
        print rdata.target
    
    # Basic A query with the specific DNS server
    answer = resolver.query(site, 'A');
    for rdata in answer :
        print rdata.address
    

    To run:

    python dnsdig.py www.youtube.com 8.8.8.8
    

提交回复
热议问题