Created
June 18, 2015 23:42
-
-
Save filipecifali/32cf402cd6b7f209e703 to your computer and use it in GitHub Desktop.
Comparing 2 DNS server results
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from tcolors import bcolors | |
from dns.resolver import Resolver | |
sys_r = Resolver() | |
dns1 = ['a.sec.dns.br', 'b.sec.dns.br'] | |
dns2 = ['dns1.stabletransit.com', 'dns2.stabletransit.com'] | |
domain = 'python.org.br' | |
queries = { | |
# '':'a', | |
# '':'mx', | |
# '':'txt', | |
'al':'cname', | |
'am':'cname', | |
'amazonses':'txt', | |
'associacao':'a', | |
'associados':'cname', | |
'ba':'cname', | |
'ce':'cname', | |
'df':'cname', | |
'es':'cname', | |
'go':'cname', | |
'ma':'cname', | |
'mail':'cname', | |
'mg':'cname', | |
'ms':'cname', | |
'mt':'cname', | |
'ns':'a', | |
'pb':'cname', | |
'pe':'cname', | |
'people':'a', | |
'plone':'a', | |
'pr':'cname', | |
'projetos':'a', | |
'pug-ce':'a', | |
'pug-pe':'cname', | |
'rj':'cname', | |
'rn':'cname', | |
'rs':'cname', | |
'se':'cname', | |
'sp':'cname', | |
'wiki':'a', | |
'www':'cname' | |
} | |
dns_registrobr = [ item.address for server in dns1 for item in sys_r.query(server) ] | |
dns_rackspace = [ item.address for server in dns2 for item in sys_r.query(server) ] | |
for query, rtype in queries.iteritems(): | |
tmp = [] | |
sys_r.nameservers = dns_registrobr | |
try: | |
for record in sys_r.query('.'.join([query, domain]), rtype).rrset.items: | |
tmp.append(record) | |
except: | |
tmp.append(None) | |
sys_r.nameservers = dns_rackspace | |
try: | |
for record in sys_r.query('.'.join([query, domain]), rtype).rrset.items: | |
tmp.append(record) | |
except: | |
tmp.append(None) | |
if tmp[0] is None and tmp[1] is None: | |
print bcolors.WARNING + "Nope:", query + bcolors.ENDC | |
elif tmp[0] == tmp[1]: | |
print bcolors.OKGREEN + "Ok:", query + bcolors.ENDC | |
else: | |
print bcolors.FAIL + "Not ok:", query + bcolors.ENDC |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
tcolors.py:
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'