The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 2,157 other followers

Printing all DNS records using DNSPython in Python 3 · GitHub

Posted by jpluimers on 2020/03/31

Cool example, which requires dnspython and might need an update of the DNS record type list (maybe dnspython has that list built in?):

[WayBack] Printing all DNS records using DNSPython in Python 3 · GitHub

–jeroen

#!/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')

view raw
get_dns_records.py
hosted with ❤ by GitHub

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

 
%d bloggers like this: