1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| #!/usr/bin/python
# -*-Coding:UTF-8 -*-
import socket
import dns.resolver
import dns
from pierky.ipdetailscache import IPDetailsCache
import geocoder
import os
from Tkinter import *
class Graphic:
"create the GUI"
def __init__(self):
self.fen = Tk()
self.fen.title('Findme')
self.fen.geometry("1000x920")
Button(self.fen, text='SCAN', fg= 'black', command= self.SendMessage).place(x='900', y='35')
Button(self.fen, text= 'QUIT', fg= 'black', command= self.fen.quit).place(x='903', y='80')
self.entree = StringVar()
Entry(self.fen, text= self.entree, width=50).place(x='300', y='39')
Label(self.fen,text='input your website:',fg='red').place(x='90', y='40')
self.scrollbar = Scrollbar(self.fen)
Text(self.fen,bg= 'white', width= 100, height= 35, yscroll= self.scrollbar.set).place(x='160', y= '130')
def SendMessage(self):
Label(self.fen, text ='STARTING SCAN...', bg= 'red').place(x='450', y='80')
if __name__ == "__main__":
graphical = Graphic()
graphical.fen.mainloop()
app = Graphic()
class findme:
"this class show some informations on website"
def __init__(self):
self.ip = ''
self.name = socket.gethostbyname(self.ip) # Convert the site web name in address ip x.x.x.x
self.cache = IPDetailsCache() #call the Class 'IPDetailsCache()'
self.r = self.cache.GetIPInformation(self.name) #use the 'GetIPInformation()' methods
print("adresse IPV4 : {0}".format(self.name)) # show the website ip
print("******************************************************************")
print("\n\t\t\tASN informations:\n") # show ASN informations
for cle, valeur in self.r.items(): #select the items methods for show 'cle and valeur' values in boucle
print cle,":",valeur
print("******************************************************************")
print("\n\t\t\tLocalisation:\n")
i = geocoder.maxmind(self.name)
a = i.json
for local, loac in a.items():
print local,":",loac
print("******************************************************************")
print("\n\t\t\tMAILS SERVERS:\n")
reponse = dns.resolver.query(self.ip, 'MX') #the variable 'reponse' contains the value MX of dns server
for rdata in reponse:
print"seveurs mails:", (rdata.exchange) # show the server mail
print("******************************************************************")
print("\n\t\t\tDNS SERVERS:\n")
contenu = dns.resolver.query(self.ip, 'NS') # the variable 'contenu' contains the value NS of dns server
for resultat in contenu:
print"seveurs DNS:", (resultat) # show all name servers dns
print("******************************************************************")
print("\n\t\t\tWHOIS GATHERING INFORMATIONS:\n")
self.command = "whois" + " " + self.ip
process = os.popen(self.command)
self.results = str(process.read())
print(self.results)
print("******************************************************************")
print("\n\t\t\tTRANSFERT ZONE LOADING...\n")
self.f = "fierce" + " " + "-dns" + " " + self.ip
self.process = os.popen(self.f)
self.result = str(self.process.read())
print(self.result) |
Partager