DNS-py2/main.py

63 lines
1.5 KiB
Python
Executable File

#!/usr/bin/python2.7
import whois
import readline
import signal
import dns.resolver
import json
from pprint import pprint
from libs import config
running = 1
prompt = ': '
indent = '~ '
whoisrecs = ["NotFound", "DomainName", "Registrar", "Status", "UpdatedDate", "CreationDate", "ExpirationDate", "RegistrantName", "EligibilityName", "Eligibilitytype", "NameServer"]
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):
for x in range(0, len(whoisrecs)):
try:
for item in resultData[whoisrecs[x]]:
print(indent + '%s: %s' % (whoisrecs[x], 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)
subdomains = jsonData["subdomains"]
dnsrecords = jsonData["dnsrecords"]
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("\nPlease Enter a domain" + prompt) )