Implemented ip address lookups
Fixed some crappy code TODO: Clean up current code Fixed input not being stripped Moved the dns lookup code Moved the whois lookup code Cleaned everythin up
This commit is contained in:
parent
8727e66ffb
commit
003a2cd29f
58
main.py
58
main.py
@ -4,6 +4,10 @@ import readline
|
|||||||
import signal
|
import signal
|
||||||
import dns.resolver
|
import dns.resolver
|
||||||
import json
|
import json
|
||||||
|
import warnings
|
||||||
|
from dns import reversename
|
||||||
|
from ipwhois.net import Net
|
||||||
|
from ipwhois.asn import IPASN
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
from libs import config
|
from libs import config
|
||||||
|
|
||||||
@ -30,17 +34,24 @@ def printWhois(resultData):
|
|||||||
|
|
||||||
def parseInput(inData):
|
def parseInput(inData):
|
||||||
tmpInData = inData.lower()
|
tmpInData = inData.lower()
|
||||||
|
tmpInData = tmpInData.strip()
|
||||||
if tmpInData == "quit":
|
if tmpInData == "quit":
|
||||||
quit()
|
quit()
|
||||||
try:
|
if checkIfIP(tmpInData):
|
||||||
result = domainWhois(inData)
|
##IP lookup code
|
||||||
except Exception as E:
|
print("Got IP address")
|
||||||
print('%s : TLD most likely needs configuring' % (E))
|
with warnings.catch_warnings():
|
||||||
result = "Error"
|
warnings.filterwarnings("ignore", category=UserWarning)
|
||||||
print("\nWhos Info")
|
ipnet = Net(tmpInData)
|
||||||
printWhois(result)
|
ipobj = IPASN(ipnet)
|
||||||
print("\nDNS Records")
|
results = ipobj.lookup()
|
||||||
recLookup(inData)
|
for key,value in results.iteritems():
|
||||||
|
print('%s: %s' % (key, value))
|
||||||
|
rev_name = reversename.from_address(tmpInData)
|
||||||
|
reverseName = str(dns.resolver.query(rev_name, "PTR")[0])
|
||||||
|
print('\nPTR: %s' % (reverseName))
|
||||||
|
else:
|
||||||
|
lookupDomain(tmpInData)
|
||||||
|
|
||||||
def recLookup(inData):
|
def recLookup(inData):
|
||||||
for dnsrec in dnsrecords:
|
for dnsrec in dnsrecords:
|
||||||
@ -50,9 +61,38 @@ def recLookup(inData):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def lookupDomain(inData):
|
||||||
|
try:
|
||||||
|
result = domainWhois(inData)
|
||||||
|
except Exception as E:
|
||||||
|
print('%s : TLD most likely needs to be configured' % (E))
|
||||||
|
result = "Error"
|
||||||
|
print("\nWhois Information")
|
||||||
|
printWhois(result)
|
||||||
|
print("\nDNS Records")
|
||||||
|
recLookup(inData)
|
||||||
|
|
||||||
|
# Taken and modified from DNSpy 1, I am not asahmed it works
|
||||||
|
def checkIfIP(in1):
|
||||||
|
count = 0
|
||||||
|
inSplit = in1.split('.')
|
||||||
|
if len(inSplit) != 4:
|
||||||
|
return False
|
||||||
|
for part in inSplit:
|
||||||
|
if part.isdigit():
|
||||||
|
count += 1
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
if count == 4:
|
||||||
|
return True
|
||||||
|
|
||||||
signal.signal(signal.SIGINT, signal_handler)
|
signal.signal(signal.SIGINT, signal_handler)
|
||||||
|
|
||||||
|
##
|
||||||
|
# Add more params to the config file
|
||||||
|
# Like indent/prompts etc
|
||||||
|
##
|
||||||
|
|
||||||
jsonData = config.readConf()
|
jsonData = config.readConf()
|
||||||
#pprint(jsonData)
|
#pprint(jsonData)
|
||||||
subdomains = jsonData["subdomains"]
|
subdomains = jsonData["subdomains"]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user