Exemple #1
0
	def CheckUpdate(self):
		self.Banner()
		if ".git" not in os.listdir(os.getcwd()):
			sys.exit(Printer.MyPrinter().eprint("Git directory not found, please download Infoga from Github repository"))
		elif ".git" in os.listdir(os.getcwd()):
			Printer.MyPrinter().nprint("Updateting...")
			os.chdir(os.getcwd()+"/.git")
			os.system("git pull")
			sys.exit()
Exemple #2
0
    def Start(self):
        if len(sys.argv) < 2:
            self.Usage()
        try:
            opts, args = getopt.getopt(
                self.argv, "t:s:i:",
                ["target=", "source=", "info=", "update", "version", "help"])
        except getopt.GetoptError:
            self.Usage()
        for opt, arg in opts:
            if opt in ("-t", "--target"):
                self.Keyword = arg
                self.CheckUrl(self.Keyword)
            elif opt in ("-s", "--source"):
                self.engine = arg
                if self.engine not in ("all", "google", "bing", "yahoo",
                                       "pgp"):
                    self.Banner()
                    sys.exit(Printer.MyPrinter().eprint(
                        "Invalid search engine!! Try with: all,google, bing, yahoo or pgp"
                    ))
            elif opt in ("-i", "--info"):
                self.email = arg
                self.CheckEmail(self.email)
            elif opt == "--help":
                self.Usage()
            elif opt == "--version":
                self.CheckVersion()
            elif opt == "--update":
                self.CheckUpdate()

        self.Banner()
        Netcraft.netcraft(self.CheckUrl(self.Keyword)).Run()
        if self.engine == "google":
            self.Google()
        if self.engine == "bing":
            self.Bing()
        if self.engine == "yahoo":
            self.Yahoo()
        if self.engine == "pgp":
            self.Pgp()
        if self.engine == "all":
            self.All()
        if self.AllEmails == []:
            sys.exit(Printer.MyPrinter().eprint("Not found email!"))
        else:
            self.AllEmails = sorted(set(self.AllEmails))
            Printer.MyPrinter().nprint("All email found: ")
            self.GetInfo()
Exemple #3
0
 def CheckEmail(self, email):
     if "@" not in email:
         self.Banner()
         sys.exit(
             Printer.MyPrinter().eprint("Invalid email!! Check your email"))
     self.Banner()
     self.Getinfo(email)
Exemple #4
0
 def Getinfo(self, email):
     Printer.MyPrinter().mprint("Email: %s" % (email))
     data = {'lang': 'en'}
     data['email'] = email
     req = requests.post("http://mailtester.com/testmail.php", data=data)
     regex = re.compile("[0-9]+(?:\.[0-9]+){3}")
     ip = regex.findall(req.content)
     new = []
     for e in ip:
         if e not in new:
             new.append(e)
     for s in range(len(new)):
         net = urllib3.disable_warnings()
         net = urllib3.PoolManager()
         res = net.request(
             "GET", "https://api.shodan.io/shodan/host/" + new[s] +
             "?key=UNmOjxeFS2mPA3kmzm1sZwC0XjaTTksy")
         jso = json.loads(res.data)
         try:
             self.sock = socket.gethostbyaddr(new[s])[0]
         except socket.herror, err:
             try:
                 self.sock = (jso["hostnames"][0])
             except KeyError, err:
                 pass
Exemple #5
0
 def Pgp(self):
     Printer.MyPrinter().nprint("Searching \"%s\" in Pgp..." %
                                (self.CheckUrl(self.Keyword)))
     Search = PgpSearch.Pgpsearch(self.CheckUrl(self.Keyword))
     Search.Process()
     Emails = Search.GetEmail()
     self.AllEmails.extend(Emails)
Exemple #6
0
 def Yahoo(self):
     Printer.MyPrinter().nprint("Searching \"%s\" in Yahoo..." %
                                (self.CheckUrl(self.Keyword)))
     Search = YahooSearch.Yahoosearch(self.CheckUrl(self.Keyword))
     Search.Process()
     Emails = Search.GetEmail()
     self.AllEmails.extend(Emails)
Exemple #7
0
 def Bing(self):
     Printer.MyPrinter().nprint("Searching \"%s\" in Bing..." %
                                (self.CheckUrl(self.Keyword)))
     Search = BingSearch.Bingsearch(self.CheckUrl(self.Keyword))
     Search.Process()
     Emails = Search.GetEmail()
     self.AllEmails.extend(Emails)
Exemple #8
0
 def Google(self):
     Printer.MyPrinter().nprint("Searching \"%s\" in Google..." %
                                (self.CheckUrl(self.Keyword)))
     Search = GoogleSearch.Googlesearch(self.CheckUrl(self.Keyword))
     Search.Process()
     Emails = Search.GetEmail()
     self.AllEmails.extend(Emails)
Exemple #9
0
	def GetInfo(self):
		for x in range(len(self.AllEmails)):
			Printer.MyPrinter().mprint("Email: %s"%(self.AllEmails[x]))
			data = {'lang':'en'}
			data['email'] = self.AllEmails[x]
			req = requests.post("http://mailtester.com/testmail.php",data=data)
			regex = re.compile("[0-9]+(?:\.[0-9]+){3}")
			ip = regex.findall(req.content)
			new = []
			for e in ip:
				if e not in new:
					new.append(e)
			for s in range(len(new)):
				net = urllib3.PoolManager()
				res = net.request("GET","https://api.shodan.io/shodan/host/"+new[s]+"?key=UNmOjxeFS2mPA3kmzm1sZwC0XjaTTksy")
				jso = json.loads(res.data)
				try:
					self.sock = socket.gethostbyaddr(new[s])[0]
				except socket.herror,err:
					try:
						self.sock = jso["hostnames"][0]
					except KeyError,err:
						pass
				if "country_code" and "country_name" in jso:
					print "\t\t|_ %s (%s)"%(new[s],self.sock)
					print "\t\t\t|"
					print "\t\t\t|__ Country: %s(%s) - City: %s (%s)"%(jso["country_code"],jso["country_name"],jso["city"],jso["region_code"])
					print "\t\t\t|__ ASN: %s - ISP: %s"%(jso["asn"],jso["isp"])
					print "\t\t\t|__ Latitude: %s - Longitude: %s"%(jso["latitude"],jso["longitude"])
					print "\t\t\t|__ Hostname: %s - Organization: %s"%(jso["hostnames"][0],jso["org"])
					try:
						print "\t\t\t|__ Vulns: %s - Ports: %s"%(jso["vulns"][0],jso["ports"][0])
					except KeyError,err:
						pass
					print ""
Exemple #10
0
 def __init__(self):
     l = Library()
     p = Printer()
     name = raw_input("What is your name?")
     fav_color = raw_input("What is your favorite color?")
     hair_color = raw_input("What is your hair color?")
     birth_year = int(raw_input("What year were you born?(4 digits)"))
     current_year = int(raw_input("What is the current year?(4 digits)"))
     age = l.get_age(current_year, birth_year)
     p.print_out(age)
     color = l.get_color(fav_color)
     p.print_color(color)
     haircolor = l.get_haircolor(hair_color)
     p.print_haircolor(haircolor)
Exemple #11
0
 def Run(self):
     try:
         ((url)) = ((
             "http://searchdns.netcraft.com/?restriction=site+contains&host=%s&lookup=wait..&position=limited"
             % (self.target)))
         ((html)) = ((Net.Conn().Urllib2(url, None, self.headers)))
         if html:
             ((reg)) = ((re.findall('url=\S+"', html, re.I)))
             print ""
             ((Printer.MyPrinter().nprint("Searching \"" + (self.target) +
                                          "\" Websites Correlation...")))
             if reg:
                 ((Printer.MyPrinter().nprint("Found %s sites " %
                                              (len(reg)))))
                 print ""
                 for x in range(len(reg)):
                     ((host)) = ((reg[x].split('"')[0]))
                     print((" - %s" % (host.split("url=")[1])))
                 print ""
             else:
                 ((Printer.MyPrinter().iprint("Not found sites")))
     except Exception, err:
         pass
Exemple #12
0
	def CheckUrl(self,url):
		o = urlparse.urlsplit(url)
		scheme = o.scheme 
		netloc = o.netloc
		path = o.path
		if scheme not in ["http","https",""]:
			self.Banner()
			sys.exit(Printer.MyPrinter().eprint("Scheme %s not supported!"%(scheme)))
		if netloc == "":
			if path.startswith("www."):
				return path.split("www.")[1]
			else:
				return path
		else:
			if netloc.startswith("www."):
				return netloc.split("www.")[1]
			else:
				return netloc
import pytest
from lib import Printer

test_array = [['1', '7'], ['2', '8'], ['3', '9'], ['4', '10'], ['5', '11'], ['6', '12']]

subject = Printer()

class TestPrinter:  
    def test_print_string_6_player(self):
        assert subject.print_territories(test_array) == 'Player 1:\n1\n7\n\nPlayer 2:\n2\n8\n\nPlayer 3:\n3\n9\n\nPlayer 4:\n4\n10\n\nPlayer 5:\n5\n11\n\nPlayer 6:\n6\n12'
Exemple #14
0
            elif opt == "--version":
                self.CheckVersion()
            elif opt == "--update":
                self.CheckUpdate()

        self.Banner()
        Netcraft.netcraft(self.CheckUrl(self.Keyword)).Run()
        if self.engine == "google":
            self.Google()
        if self.engine == "bing":
            self.Bing()
        if self.engine == "yahoo":
            self.Yahoo()
        if self.engine == "pgp":
            self.Pgp()
        if self.engine == "all":
            self.All()
        if self.AllEmails == []:
            sys.exit(Printer.MyPrinter().eprint("Not found email!"))
        else:
            self.AllEmails = sorted(set(self.AllEmails))
            Printer.MyPrinter().nprint("All email found: ")
            self.GetInfo()


if __name__ == "__main__":
    try:
        Infoga(sys.argv[1:]).Start()
    except KeyboardInterrupt, err:
        sys.exit(Printer.MyPrinter().eprint("Ctr+c...:("))
Exemple #15
0
from lib import Assigner
from lib import Printer

full_list = [
    'Alaska', 'Northwest Territory', 'Greenland', 'Alberta', 'Ontario',
    'Quebec', 'Western United States', 'Eastern United States',
    'Central America', 'Venezuela', 'Peru', 'Brazil', 'Argentina',
    'North Africa', 'Egypt', 'East Africa', 'Congo', 'South Africa',
    'Madagascar', 'Iceland', 'Scandinavia', 'Ukraine', 'Great Britian',
    'Northern Europe', 'Southern Europe', 'Western Europe', 'Indonesia',
    'New Guinea', 'Western Australia', 'Eastern Australia', 'Siam', 'India',
    'China', 'Mongolia', 'Japan', 'Irkutsk', 'Yakutsk', 'Kamchatka', 'Siberia',
    'Afghanistan', 'Ural', 'Middle East'
]

assigner = Assigner()
scrambled_list = assigner.randomise(full_list)
printer = Printer()

number = 0

print("Please enter number of players (2-6): ")
input = input()
number = int(input)
print('Printing territories for {} players...\n'.format(number))
chunked_territories = assigner.chunk_territories(scrambled_list, number)
printer.print_territories(chunked_territories)