#!/usr/bin/python2.7 import whois import readline import signal import dns.resolver import json from pprint import pprint from libs import config running = 0 prompt = '$ ' indent = '~ ' whoisrecs = ["NotFound", "DomainName", "Registrar", "Status", "UpdatedDate", "CreationDate", "ExpirationDate", "RegistrantName", "EligibilityName", "Eligibilitytype", "NameServer"] subdomains = ["www", "mail", "ftp"] dnsrecords = ["A", "MX", "TXT", "NS", "SOA"] def domainWhois(inData): whoisData = whois.whois(inData).query() return whois.Parser(inData, whoisData[1]).parse() def signal_handler(singal, frame): #print('\n') quit() def printWhois(resultData): try: for recType in whoisrecs: for item in resultData[recType]: print(indent + '%s: %s' % (recType, item)) except Exception as e: pass def parseInput(inData): if inData.lower() == "quit": quit() #Assume the input is a domain name result = domainWhois(inData) # for results in result: # for item in result[results]: # print('%s: %s' % (results, item)) printWhois(result) #print(result) signal.signal(signal.SIGINT, signal_handler) jsonData = config.readConf() pprint(jsonData) print "root" for rdata in dns.resolver.query('yahoo.com', 'A') : print rdata for sub in subdomains: print sub try: for rdata in dns.resolver.query(sub + '.yahoo.com', 'CNAME') : print( rdata.target ) except: pass while running == 1: parseInput(raw_input("Please Enter a domain" + prompt) )