From e7a149781ee736f52912daca2f2c90480d4f57fd Mon Sep 17 00:00:00 2001 From: Benjamyn Love Date: Thu, 30 Aug 2018 02:18:14 +1000 Subject: [PATCH] Fixed up local libs and main.py, waiting on whois lib --- libs/__init__.py | 4 +- libs/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 190 bytes libs/__pycache__/cc.cpython-37.pyc | Bin 0 -> 612 bytes libs/__pycache__/colours.cpython-37.pyc | Bin 0 -> 688 bytes libs/__pycache__/config.cpython-37.pyc | Bin 0 -> 565 bytes libs/__pycache__/files.cpython-37.pyc | Bin 0 -> 512 bytes libs/config.py | 2 +- libs/files.py | 4 +- main.py | 196 +++++++++++------------ requirments.txt | 3 + 10 files changed, 106 insertions(+), 103 deletions(-) create mode 100644 libs/__pycache__/__init__.cpython-37.pyc create mode 100644 libs/__pycache__/cc.cpython-37.pyc create mode 100644 libs/__pycache__/colours.cpython-37.pyc create mode 100644 libs/__pycache__/config.cpython-37.pyc create mode 100644 libs/__pycache__/files.cpython-37.pyc create mode 100644 requirments.txt diff --git a/libs/__init__.py b/libs/__init__.py index 5f030a2..04139af 100644 --- a/libs/__init__.py +++ b/libs/__init__.py @@ -1,2 +1,2 @@ -import files -import config +from . import files +from . import config diff --git a/libs/__pycache__/__init__.cpython-37.pyc b/libs/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b5e940d3af27c54fa30bccf2aedaea05a6cbe06c GIT binary patch literal 190 zcmZ?b<>g`kf+L69qBVi^V-N=hn1BoiATE{x5-AKRj5!Rsj8Tk?AT|?_%@oB1WHSdd zXtKOy1S-*Fyv3T9nUh)!WUwXY=cQ$)`)M-YVkiO`RKyG%6k$z5QQn7w~d}dx|NqoFsLFFwDo80`A(wtN~kWIxP H6L}Z`TaGFq literal 0 HcmV?d00001 diff --git a/libs/__pycache__/cc.cpython-37.pyc b/libs/__pycache__/cc.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a364664e00b5e8c7c101bbcc41391fbdfe5908dd GIT binary patch literal 612 zcmYjN!EV$r5S?-2-E2rDRJc^yGtx?>kr3jvLWtdRTp=P+h{RzV8!+8%F}cX#K+9pxUiyQ2)fEXN}rS=8Fh9P{<9P8K?5l(_GaaZgE zd<0Eh0O{gl68X3`Qv1>IWhISMwf5Xtr5#O@&uS(0axMLER=j^hz@z*Lc1ZW$KFPn< zYnh)){cX8!b$;|kxqQATo|^VqzEY=6UR6h?^}`@fzw_|oJ_KZ#V2lsZj)?nbZ9pI# z>aD${4+UfjuHl9r-mz;Gc!Qhh@_84{;nU$J?qcE?ahz=OEsE%j*>T53d;lHN&JSP; z=i~G731PB3Sa?it@o*Os-%-IXQk?F~x94T!sTyR|`RW0OPRj$ke zp4Hk(?V9pIABt?-CYWArC#gJgiQcN+!eHNpA fMC@Y1`e=IapGwHx-bqc@wYXTxmwl?iPBQ!pix!4u literal 0 HcmV?d00001 diff --git a/libs/__pycache__/colours.cpython-37.pyc b/libs/__pycache__/colours.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fbb562d28edfe0c3ee35d1edd134339265c240c4 GIT binary patch literal 688 zcmZ9J&2AGh5XbFZdp|l?M5=h`{ z$R7?z!V&H@;#iOjMRW%9zk#9aLpIMqq}hYGBQSS`!-;S?6@+_&a$k5n5Izq@0B3|c zn9k~=UaDs8x5r1lJ?`{6<(js~J=kf=>oSR2I>_^CQp!Bn ztvoMlu`Eo#ljmQTlVUq@Q#R6MaQ1;|GW_&5(eyNB3`)u}_MVf$yR#AZQ}&Ui8M{Hs zSY+k*^Z0XJ%6KZPi%Gev;=}p*A|55#i_29vF3zV-y#0y8%at-t7!R90kN}fM%g$zI zg9%f?d^Ch?Qjl-xC;ElHLlyXoqxKj0!pRIdKu>{OOD<3s2p$1u1gH;0Em5EZ$jjj2 zz+f-ou9AY2X|a@?%vO_%)47te(p1StE+SvkqP~*K-c3=shVqQ~Mgk)tNQAk!`Nw~@ ys3$Pc;ao0;_6c_Yn|%<316baFsf-^<Y!-R!EB3P_xNBnUPVX9S3r_EPPoNQH1pV{bQ0){Y#nXsRxkR(!|q zvERX8_{ynYfW(QJ0um$58_(FD_dI^PyE_K5pWnZIdW`@-IQeH0E#8oKPY4t!Y+#8+ zgrFi7H*pc)M^OkRRB{7FqT&!kyWhYQ`SZGuh9qi2!`+qNkcrn zJUS$HX{?tsyE5vT?CnZ^shdU`t(EjvR<ubK+y4v_m6hj`$ zv8_VNEe}dx2Gqr9QU1+t!9Ad<{Cb+RjQmWSMY-%vJ~^*_elR_G-u5r@ratTPKdL8f zA5v!9r$;0_)ExrA2qo@eijUDfqC6Wop1k8PbwdU|>qZQ`e^2@!JfvDkUoNd$HTo5Q MUN<1vp^jQm^+nHmT>$xJ(K=im9YC+&6%$jryf%@>WIoUBaH0TWQyl<&PgtV6tk>Vq%Yz_}#yYsA0^P|=3R00r&rh zjfgB8Zm{73S8O4y*qlk6X{lIQ@zeQY*x=qS$1~;dBJ=!)2F*;lxq8D>wXod bJzv %s" % (dnsrec, colour_good, rdata, tmpData) + colour_default) - else: - tmpData = cnameToA(rdataTMP[1]) - print( indent + colour_pretty + "%s:\t%s%s -> %s" % (dnsrec, colour_good, rdata, tmpData) + colour_default) - except Exception as e: - pass + for dnsrec in dnsrecords: + try: + data = dns.resolver.query(inData, dnsrec) + for rdata in data: + 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) + else: + tmpData = cnameToA(rdata.to_text()) + print( indent + colour_pretty + "%s:\t%s%s -> %s" % (dnsrec, colour_good, rdata, tmpData) + colour_default) + else: + tmpData = cnameToA(rdataTMP[1]) + print( indent + colour_pretty + "%s:\t%s%s -> %s" % (dnsrec, colour_good, rdata, tmpData) + colour_default) + except Exception as e: + pass def subLookup(inData, sub): - 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) - 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) - except Exception as e: - pass + 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) + 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) + except Exception as e: + 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) - print("\nSub Domains") - for subs in subdomains: - subLookup(inData, subs) + 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) + print("\nSub Domains") + for subs in subdomains: + subLookup(inData, subs) def lookupIP(inData): - with warnings.catch_warnings(): - warnings.filterwarnings("ignore", category=UserWarning) - ipnet = Net(inData) - ipobj = IPASN(ipnet) - results = ipobj.lookup() - for types in ipData: - if types == "asn_country_code": - print(indent + "%s%s:%s\t%s%s" % (colour_pretty, ipData[types], colour_good, CountryDict[results[types]], colour_default)) - else: - print(indent + "%s%s:%s\t%s%s" % (colour_pretty, ipData[types], colour_good, results[types], colour_default)) - rev_name = reversename.from_address(inData) - try: - reverseName = str(dns.resolver.query(rev_name, "PTR")[0]) - except Exception as E: - reverseName = E - print('\n' + indent + '%sPTR:%s\t\t%s%s' % (colour_pretty, colour_good, reverseName, colour_default)) + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", category=UserWarning) + ipnet = Net(inData) + ipobj = IPASN(ipnet) + results = ipobj.lookup() + for types in ipData: + if types == "asn_country_code": + print(indent + "%s%s:%s\t%s%s" % (colour_pretty, ipData[types], colour_good, CountryDict[results[types]], colour_default)) + else: + print(indent + "%s%s:%s\t%s%s" % (colour_pretty, ipData[types], colour_good, results[types], colour_default)) + rev_name = reversename.from_address(inData) + try: + reverseName = str(dns.resolver.query(rev_name, "PTR")[0]) + except Exception as E: + reverseName = E + print('\n' + indent + '%sPTR:%s\t\t%s%s' % (colour_pretty, colour_good, reverseName, colour_default)) # 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 + 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) while running == 1: - parseInput(raw_input("Please Enter a domain" + prompt) ) - print('\n') + parseInput(input("Please Enter a domain" + prompt) ) + print('\n') diff --git a/requirments.txt b/requirments.txt new file mode 100644 index 0000000..6f4a25e --- /dev/null +++ b/requirments.txt @@ -0,0 +1,3 @@ +dnspython +ipwhois +readline \ No newline at end of file