Skip to content

Instantly share code, notes, and snippets.

@akshaybabloo
Last active May 9, 2024 13:22
Show Gist options
  • Star 30 You must be signed in to star a gist
  • Fork 14 You must be signed in to fork a gist
  • Save akshaybabloo/2a1df455e7643926739e934e910cbf2e to your computer and use it in GitHub Desktop.
Save akshaybabloo/2a1df455e7643926739e934e910cbf2e to your computer and use it in GitHub Desktop.
Printing all DNS records using DNSPython in Python 3
#!/usr/bin/env python
# -*- coding utf-8 -*-
#
# Copyright 2016 Akshay Raj Gollahalli
import dns.resolver
def get_records(domain):
"""
Get all the records associated to domain parameter.
:param domain:
:return:
"""
ids = [
'NONE',
'A',
'NS',
'MD',
'MF',
'CNAME',
'SOA',
'MB',
'MG',
'MR',
'NULL',
'WKS',
'PTR',
'HINFO',
'MINFO',
'MX',
'TXT',
'RP',
'AFSDB',
'X25',
'ISDN',
'RT',
'NSAP',
'NSAP-PTR',
'SIG',
'KEY',
'PX',
'GPOS',
'AAAA',
'LOC',
'NXT',
'SRV',
'NAPTR',
'KX',
'CERT',
'A6',
'DNAME',
'OPT',
'APL',
'DS',
'SSHFP',
'IPSECKEY',
'RRSIG',
'NSEC',
'DNSKEY',
'DHCID',
'NSEC3',
'NSEC3PARAM',
'TLSA',
'HIP',
'CDS',
'CDNSKEY',
'CSYNC',
'SPF',
'UNSPEC',
'EUI48',
'EUI64',
'TKEY',
'TSIG',
'IXFR',
'AXFR',
'MAILB',
'MAILA',
'ANY',
'URI',
'CAA',
'TA',
'DLV',
]
for a in ids:
try:
answers = dns.resolver.query(domain, a)
for rdata in answers:
print(a, ':', rdata.to_text())
except Exception as e:
print(e) # or pass
if __name__ == '__main__':
get_records('google.com')
@cdebel2005
Copy link

@JensTimmerman
hum, strange! I've tested with *.tweakers.net, and i get the records as you said.

The goal of my script was to see all the records prior a transfer from Wix to GoDaddy, and for some reasons, with a domain registered at Wix, this fail. Once the same domain is transferred at GoDaddy, it work.

But as for what i need (produce a zone file to import in GoDaddy), it won't be useful and i'll need to find these records from a combination of Selenium with Chrome driver, and maybe BeautifulSoup in python.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment