From e62b756155dd0d9c9850675af52c858466823967 Mon Sep 17 00:00:00 2001 From: Benjamyn Love Date: Sun, 13 May 2018 23:43:59 +1000 Subject: [PATCH] Adjusted template (dns.html) for DNS and whois Adjusted main.py to return values instead of print them --- gui.py | 9 +++++---- main.py | 32 +++++++++++++++++++++++--------- main.pyc | Bin 6077 -> 5790 bytes templates/dns.html | 6 +++++- 4 files changed, 33 insertions(+), 14 deletions(-) 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 68615944e0071808a714aca8bbb37e0584ea0dfe..93ba04a9dfff9f4c56568c3bf6bf400f549e9e48 100644 GIT binary patch delta 1129 zcmZuw&rcLd6#icI(8ElonP1Gz@=HfR9gtxVkd3bHVw9i;iK4M_R(GRQy@m#fFns_Q zM8hVVje9U#k{IKUi<&4WLp+#hjEM&?{tJ8a;8_nQ#>7{J2M>1l`|7J#UH#toUiI_R zonn*q-idx1{8+Bw>s80&AY1j;{DKP7kWKNjMqnuZl zDDP~7tVg*OGJ|rPTBXubJ0=8VJLF~z$SsgtF;LzNF9m;#!L9I`u}u0Y7a$Ax3n+I$ zb{NtL*=fi&$ZdvnL3SBZge)4;4cTo-39@8J4`h!a+c74$8`cYt;FG~Vc%4`lAg>>? z*C@Fm=DOf<_GvS{F1#YV9gzHLD{|}Uk?hCtftjhbRk6pS9`&wfmHO9K?6*Wesy}N# z(9qh2NH6U^q>HDk2#T3I%IJs+u_w%Cv+ZN6zGj$vi2&Gt`Y9F(^S9Oi(Om5nEC_bZ ztIyH4rK?yVNDGq|W~Z=VA+WV)_so3+VLkUlx+9$8V$HY9U1m818A8K%7F~BHj8IUE z$tY%DfEH~Kd&b#ZZtAf@4JS7mPy-M7KrkL2H^b<$2`!`$QH`-;j8otfFkPMXDpmDs z?7uz7d0uU1fN;p73^{CE2H}VlTSBBLP8Iz<9YC8Y#Z4yjmsO|Jy!89JdKZh9X8t;c zOkWNfg{)H-pdE81T|DlpFHDsPxdk96h3@YD(+TqluGrTN=iu@t*PTwYa@#0hVdWvv zG-2GRwvaKhIh}6a#@UVTJv>whtDSW{G@_R4f**YLR#OZR7B#ZIl;wzakyY_{=HPjD z>pzCoBoGid9bJ5aJKf4bg$cTggYxO)ABXj2hYxVR{D#gUV6kQgsmt-E_y}Cq$725w z+!0INi~pQ2=;JdsqM@LnPs0%nx)oz5)K7_t=8H_L^$ZX;cOk(wk5Due<(?$hUL_s~ zI;rl)2JJCj{HyA5`UxFX=jtEQ9hJ-+q5*X((?`FlYnf*?CX^b<{z4V?Z?=V`dX#Ok nO~4cCP4;iw(y`8}a;_w7q5jFWC9{!4BpFFZoV19EIMve^wFt?H delta 1362 zcmZva%WoT16vn?Z<3~JxrGCUs(-0@Nsnf)9ULc?(ZAwr=r3P?RIarFI^_>Vi)K)x0 zm4K~)QVAg>1iex>m4euSD%eC3Y|3N7zrcnSVu3(n!2%=}Y&iG2O$5~T{rufKb7s!@ zowHx~x;S9|5w=Dy{#vQx{wKo!7kD|h4+bt!#`dE=h&`bGh*EI^n+95f1bf13L#PbN zo0JZxArhzzLnKidkq1yII&V)N@)Ng?$=(q<)n%5P94LDtU-eZAKx^YI7E1 zOq(%?ac#yS3fdGPCbXG=C~8xLnABzxVoIAS*n~Q1ot}q1iai5l&p=G;+;17%DaD8z7NC}TRb$ie@v0G&;NqTUcm6 z!kWgXDp}zP0Ve*%(De?g`c@V$Kl>1zO!7u}^3+2>md5}|3>|U<2bz&@Fnx~j% zj7er`K~Yq1^zc&e*A(Aiv(pQnTrNj(B$OK?oHyy#&&o!mKf@!swCrkdd<*e}@>UPF z-g1#g)}`$*wkA!s#BY zzJ4ve*t~wV)^PGZzN3^^GNa@PCC@AIE4d>3qqTICt#gt^RoTn61;`@r(Fz~#M?Wz< zYkXaP?49$KRJ9%XUhE5cK`zAa(g*Ul_$7KwKAxDNby-h*CC8HI>6+Y34pLRVn;i7% mH(rsSC*Sd@;d5S*PxcjMy)Sbj76=6*fp{PsH$p~~67&yGJ@?cA 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 %} +