43 lines
1.1 KiB
Python
Executable File
43 lines
1.1 KiB
Python
Executable File
#!/usr/bin/python2.7
|
|
import whois
|
|
import readline
|
|
import signal
|
|
from pprint import pprint
|
|
|
|
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):
|
|
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)
|
|
|
|
while running == 1:
|
|
parseInput(raw_input("Please Enter a domain" + prompt) )
|