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
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