diff --git a/gui.py b/gui.py index cd7c99c..f82a7a1 100644 --- a/gui.py +++ b/gui.py @@ -8,12 +8,13 @@ def index(): if request.method == 'POST': data = request.form['domain'] print(data) - dnsinfo = dnspy.domainWhois(str(data)) + dnsinfo, whois = dnspy.lookupDomain(str(data)) #dnsinfo = {"." : "."} - return render_template('dns.html', dnsinfo=dnsinfo) + return render_template('dns.html', whois=whois, dnsinfo=dnsinfo) else: - dnsinfo = {"Status" : "Please enter a domain"} - return render_template('dns.html', dnsinfo=dnsinfo) + whois = {"Status" : "Please enter a domain"} + dnsinfo = {"Stub" : "Data"} + return render_template('dns.html', whois=whois, dnsinfo=dnsinfo) @app.route('/domain/', methods=['POST', 'GET']) def getDomain(): diff --git a/main.py b/main.py index 76bd1b3..cbdba9d 100755 --- a/main.py +++ b/main.py @@ -1,4 +1,5 @@ #!/usr/bin/python2.7 +#GUI REWRITE import whois import signal import dns.resolver @@ -26,6 +27,8 @@ colour_default = gc.getColour(jsonData["colour_default"]) CSVFile = jsonData["country_codes"] # Endconfig block +dnsrecs = {} + if platform.system().lower() == "linux": import readline else: @@ -79,6 +82,7 @@ def parseInput(inData): lookupDomain(tmpInData) def recLookup(inData): + global dnsrecs for dnsrec in dnsrecords: try: data = dns.resolver.query(inData, dnsrec) @@ -86,41 +90,51 @@ def recLookup(inData): rdataTMP = rdata.to_text().split(" ") if dnsrec != "MX": if dnsrec != "NS": - print( indent + colour_pretty + "%s:\t%s%s" % (dnsrec, colour_good, rdata) + colour_default) + #print( indent + colour_pretty + "%s:\t%s%s" % (dnsrec, colour_good, rdata) + colour_default) + dnsrecs[dnsrec] = rdata else: tmpData = cnameToA(rdata.to_text()) - print( indent + colour_pretty + "%s:\t%s%s -> %s" % (dnsrec, colour_good, rdata, tmpData) + colour_default) + #print( indent + colour_pretty + "%s:\t%s%s -> %s" % (dnsrec, colour_good, rdata, tmpData) + colour_default) + dnsrecs[dnsrec] = rdata else: tmpData = cnameToA(rdataTMP[1]) - print( indent + colour_pretty + "%s:\t%s%s -> %s" % (dnsrec, colour_good, rdata, tmpData) + colour_default) + #print( indent + colour_pretty + "%s:\t%s%s -> %s" % (dnsrec, colour_good, rdata, tmpData) + colour_default) + dnsrecs[dnsrec] = rdata except Exception as e: pass def subLookup(inData, sub): + global dnsrecs try: data = dns.resolver.query(sub + '.' + inData) for rdata in data: if data.qname == data.canonical_name: - print(indent + colour_pretty + "%s:\t%s%s" % (sub, colour_good, rdata) + colour_default) + #Old function printed the result now I am returning the result, may add to a dict. + #print(indent + colour_pretty + "%s:\t%s%s" % (sub, colour_good, rdata) + colour_default) + dnsrecs[sub] = rdata else: for rdata in dns.resolver.query(sub + '.' + inData, "CNAME"): - print(indent + colour_pretty + "%s:\t%s%s -> %s" % (sub, colour_good, rdata, cnameToA(sub + "." + inData).to_text()) + colour_default) + #print(indent + colour_pretty + "%s:\t%s%s -> %s" % (sub, colour_good, rdata, cnameToA(sub + "." + inData).to_text()) + colour_default) + dnsrecs[sub] = rdata except Exception as e: pass def lookupDomain(inData): + global dnsrecs + dnsrecs = {} 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") + #print("\nWhois Information") + #printWhois(result) + #print("\nDNS Records") recLookup(inData) - print("\nSub Domains") + #print("\nSub Domains") for subs in subdomains: subLookup(inData, subs) + return dnsrecs, result def lookupIP(inData): with warnings.catch_warnings(): diff --git a/main.pyc b/main.pyc index 6861594..93ba04a 100644 Binary files a/main.pyc and b/main.pyc differ diff --git a/templates/dns.html b/templates/dns.html index fa8ed27..b25a0f6 100644 --- a/templates/dns.html +++ b/templates/dns.html @@ -25,7 +25,7 @@
Whois Information: - {% for key, value in dnsinfo.iteritems() %} + {% for key, value in whois.iteritems() %}
  • {{ key }} - {{ value }}
  • {% endfor %}
    @@ -33,6 +33,10 @@
    DNS Records + {% for key, value in dnsinfo.iteritems() %} +
  • {{ key }} - {{ value }}
  • + {% endfor %} +