当前位置: 首页>>代码示例>>Python>>正文


Python WebAPI.search方法代码示例

本文整理汇总了Python中shodan.WebAPI.search方法的典型用法代码示例。如果您正苦于以下问题:Python WebAPI.search方法的具体用法?Python WebAPI.search怎么用?Python WebAPI.search使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在shodan.WebAPI的用法示例。


在下文中一共展示了WebAPI.search方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: shodan_search

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
def shodan_search(search, apikey, pages):
    from shodan import WebAPI

    if apikey:
        API_KEY = apikey
    else:
        API_KEY = 'ENTER YOUR API KEY HERE AND KEEP THE QUOTES'

    api = WebAPI(API_KEY)

    ips_found = []

    try:
        results = api.search(search, page=1)
        total_results = results['total']
        print '[+] Results: %d' % total_results
        print '[*] Page 1...'
        pages = max_pages(pages, total_results)
        for r in results['matches']:
            ips_found.append(r['ip'])

        if pages > 1:
            i = 2
            while i <= pages:
                results = api.search(search, page=i)
                print '[*] Page %d...' % i
                for r in results['matches']:
                    ips_found.append(r['ip'])
                i += 1

        return ips_found

    except Exception as e:
        print '[!] Shodan search error:', e
开发者ID:clebeer,项目名称:device-pharmer,代码行数:36,代码来源:device-pharmer.py

示例2: __init__

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
class Shodan:
    """ Clase para buscar en Shodan """
    def __init__(self,API_KEY):
        self.api =  WebAPI(API_KEY)    

    def buscar(self,cadena):
        """ Busca segun la cadena dada """
        try:
           # Buscamos lo de la cadena pasada como parametro
	   resultado = self.api.search(str(cadena))
	   return resultado
        except Exception as e:
	   print 'Ups! Ha ocurrido un error: %s' % e
	   resultado = []
	   return resultado

        
    def obtener_info_host(self,IP):
        """ Obtiene la info que pueda tener shodan sobre una IP """
        try:
	    host = self.api.host(IP)
	    return host
	except Exception as e:
	    print 'Ups! Ha ocurrido un error: %s' % e
	    host = []
	    return host	    
开发者ID:aljavier,项目名称:Shodan3r,代码行数:28,代码来源:Shodan3r.py

示例3: autoroot

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
def autoroot(api_key, thread_count=10):

        api = WebAPI(api_key)
        search_queries = ['Server: Linux, HTTP/1.1, DIR','Mathopd/1.5p6' ]#, 'Server: Linux, HTTP/1.1, DIR-300']
        for query in search_queries:
            count = 0
            page = 1
            total = 0

            while True:
                results = api.search(query)
                if total == 0:
                    total = int(results['total'])
                    print('Results found: %s' % results['total'])
                    print('Countries found: ')
                    pprint(results['countries'])
                    raw_input('press enter to start hacking')
                dm = DlinkManager(results['matches'],thread_count=10)
                dm.run()
                page += 1
                count += len(results['matches'])
                if count == total:
                    break

        print("Rooted routers count: %i" % len(rooted))
        print(rooted)
开发者ID:0x90,项目名称:routerz,代码行数:28,代码来源:dir300.py

示例4: shodan_search

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
def shodan_search(search, apikey, pages):
    from shodan import WebAPI

    if apikey:
        API_KEY = apikey
    else:
        API_KEY = "ENTER YOUR API KEY HERE AND KEEP THE QUOTES"

    api = WebAPI(API_KEY)

    ips_found = []

    try:
        results = api.search(search, page=1)
        total_results = results["total"]
        print "[+] Results: %d" % total_results
        print "[*] Page 1..."
        pages = max_pages(pages, total_results)
        for r in results["matches"]:
            # Replace the following ports with port 80 since they'll virtually never have a web server running
            # ftp, ssh, telnet, smtp, smtp, netbios x3, smb
            if r["port"] in [21, 22, 23, 25, 26, 137, 138, 139, 445]:
                r["port"] = 80
            ips_found.append("%s:%s" % (r["ip"], r["port"]))

        if pages > 1:
            i = 2
            while i <= pages:
                results = api.search(search, page=i)
                print "[*] Page %d..." % i
                for r in results["matches"]:
                    ips_found.append(r["ip"])
                i += 1

        return ips_found

    except Exception as e:
        print "[!] Shodan search error:", e
开发者ID:Mondego,项目名称:pyreco,代码行数:40,代码来源:allPythonContent.py

示例5: main

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
def main(queue):

	# Connect to Shodan
	api = WebAPI(API_KEY)

	# get the first page of results
	res = api.search(filter)

	#keep track of how many results we have left
	#total_results = res['total']
	total_results = res.get('total', 0)

	# Start looping through results now
	page = 1
	try:
		while(page * 100 <= total_results):
			#check the matches to see if they fit what we are looking for
			for host in res['matches']:
				queue.put_nowait(host['ip'])
			page +=1
			res = api.search(filter,page)
	except Exception, e:
		print e
开发者ID:Viss,项目名称:Eagleeye,代码行数:25,代码来源:eagle-eye.py

示例6: shodanquery

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
def shodanquery(query, api_key=None):
	if not api_key or api_key == "":
		return False
	api = WebAPI(api_key)
	if is_valid_ipv4(query):
		try:
			response = api.host(query)
		except:
			return False
	else:
		try:
			response = api.search(query)
		except:
			return False
	return response
开发者ID:benhagen,项目名称:dossier,代码行数:17,代码来源:ip.py

示例7: CamScanner

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
class CamScanner(object):
    filter = "netcam"

    def __init__(self, shodan_api_key):
        self.api_key = shodan_api_key
        self.api = WebAPI(self.api_key)

    def cam_available(self, url):
        try:
            resp = urlopen(url, None, 10)
        except (URLError, timeout):
            print "Failed to contact cam: %s" % url
            return False
        else:
            if resp.code == 200:
                return True
            print "Bad resp code: %d" % resp.code
            return False

    def get_cams(self):
        results = self.api.search(self.filter)
        total_pages = (results["total"] / 50) + 1
        current_page = 1
        skip = False
        while current_page <= total_pages:
            if not skip:
                for result in results["matches"]:
                    url = "http://%s/anony/mjpg.cgi" % result["ip"]
                    if self.cam_available(url):
                        yield url, result.get("latitude"), result.get("latitude")
            current_page += 1
            try:
                results = self.api.search(self.filter, page=current_page)
            except URLError:
                print "Failed to GET page %d" % current_page
                skip = True
开发者ID:mattoufoutu,项目名称:TrendnetStalker,代码行数:38,代码来源:camscan.py

示例8: __init__

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
class fingershodan:
	
	def __init__(self,search,typeSearch):		
		self.search = search
		self.typeSearch = typeSearch
		self.searchList = {}
		self.allCount = 0
		self.__initKey()
		self.__switchSearch()
		
	def __initKey(self):
			self.api = WebAPI("CvXzhcMm3YemfeNnNKE7ed9xRSCKfAhY")
				
	def __switchSearch(self):
		if self.typeSearch=="search":
			self.__execSearch()
		elif self.typeSearch=="lookup":
			self.search = socket.gethostbyname(self.search)
			self.webHost = self.api.host(self.search)
			self.__execLookup()
		#elif self.typeSearch=="mac":
		#	self.__macLocation()
			
	
	def __execSearch(self):
		searched = self.api.search(self.search)
		for search in searched["matches"]:
			try:
				self.searchList["Result "+str(self.allCount)] = {"Ip":search["ip"],"Updated":search["updated"],
				"Country":search["country_name"],"Latitude":search["latitude"],"Longitude":search["longitude"],
				"Port":search["port"],"Data":search["data"],"Os":search["os"]}
				self.allCount += 1
			except:
				continue
	
	def __execLookup(self):
		try:
			self.searchList["Result "+str(self.allCount)] = {"Ip":self.webHost["ip"],"Country":self.webHost["country_name"],"City":self.webHost["city"],
			"Os":self.webHost["os"],"Banner":self.webHost["data"][0]["banner"],"Port":self.webHost["data"][0]["port"],
			"TimeStamp":self.webHost["data"][0]["timestamp"]}
		except:
			print "Fail Lookup"
	
	#def __macLocation(self):

		
	def _returnData(self):
		return self.searchList
开发者ID:overxfl0w,项目名称:Grampus-Forensic-Utils,代码行数:50,代码来源:fingershodan.py

示例9: shodan_search

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
def shodan_search(search, apikey):
    if apikey:
        API_KEY = args.apikey
    else:
        API_KEY = 'ENTER YOUR API KEY HERE AND KEEP THE QUOTES'
    api = WebAPI(API_KEY)

    ips_found = []

    try:
        results = api.search('%s' % search)
        print '[+] Results: %s' % results['total']
        for r in results['matches']:
            ips_found.append(r['ip'])
        return ips_found
    except Exception as e:
        print '[!] Error:', e
开发者ID:synick,项目名称:shodan_pharmer,代码行数:19,代码来源:shodan_pharmer.py

示例10: ShodanScanner

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
class ShodanScanner(object):

    def __init__(self, KEY):
	self.api = WebAPI(KEY)

    def searchShodan(self, search_string):
	try:
	    filename = 'ips.txt'
	    fp = open(filename, 'w');
	    self.results = self.api.search(search_string)
	    for result in self.results['matches']:
		print result['ip'], str(result['latitude']), str(result['longitude'])
		fp.write(result['ip']+' '+str(result['latitude'])+','+str(result['longitude'])+'\n')
		for name in result['hostnames']:
		    print name
		print result['data']
	    print '***%s results with \"%s\"***' % (self.results['total'], search_string)
	    fp.close()
	except Exception, e:
	    print 'Error: %s' % e
开发者ID:Hashdump,项目名称:Samauri,代码行数:22,代码来源:samurai.py

示例11: shodan_frame

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
def shodan_frame(port):

	# Currently Supports query based on port Filter only and Displays Corresponding IP
	print colored("\n[!] Shodan Search Module For NoSQL Framework Launched.....",'yellow')
	api = WebAPI("API KEY GOES HERE")
	if port == 5984:
		query='{"couchdb":"Welcome","version":""}'
	else:
		query='port:%s'%(port)
	result = api.search(query)
	print colored("[-] Would Like to write the Results to a File",'green')
	choice=raw_input()
	if choice.lower()=='y':
		file=open('shodan-%s.txt'%(port),'w')
		for host in result['matches']:
			file.write(host['ip']+"\n")
		print colored('[-] File to %s/shodan-%s.txt'%(os.getcwd(),port),'green')
		file.close()
	else:

		print colored("[-] Printing Found IP \n",'blue')
		for host in result['matches']:
			print colored("[-] "+host['ip'],'green')
开发者ID:52piaoyu,项目名称:Nosql-Exploitation-Framework,代码行数:25,代码来源:nosqlexp.py

示例12: str

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
			hoststring = str(ip) + ":" + str(port)
			print 'Found http://%s/videostream.cgi' % hoststring
			f = '<img src="http://%s/videostream.cgi?user=admin&pwd=" height=240 width=320>\n' % hoststring
			outfile.write(f)
			outfile.flush()
			#file.close()
			return True
		return False
	except:
		return False


api = WebAPI(key)

#get the first page of results
res = api.search(filter)

#keep track of how many results we have left
total_results = (res['total'])
page = 1
list = []
outfile = open('netwave.html','w')
length = 0
try:
	while(page * 100 <= total_results):
	# Check the matches to see if they fit what we are looking for
		for host in res['matches']:
			ip = ''.join(str(host['ip']))
			port = ''.join(str(host['port']))
			pool.apply_async(checkCam, (ip,port),)
			#pool.join()
开发者ID:735tesla,项目名称:Eagleeye,代码行数:33,代码来源:shodan-turk.py

示例13: WebAPI

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
 

                 if(res.find('200 Ok') > 0):
 
                         return True
 
                 return False
 
         except:
 
                 return False

if __name__ == "__main__":
	
api = WebAPI(key)
res = api.search('DSL Router micro_httpd')#Dork shodan dos modelos vulneraveis
i = 1
try:
         while i <= 100: #Vai printar apenas 100 resultados pela API ser free
 
                 for ips in res['matches']:
 
                         print '[!] Testando http://%s' % ips['ip'] + bcolors.WARNING +' | Localizado em: ' + bcolors.ENDC + ips['country_name'] + bcolors.WARNING + ' | na porta:'+ bcolors.ENDC, bcolors.OKBLUE, ips['port'], bcolors.ENDC
 
                         if(checar(ips['ip'])):
							 
                                 print '[+] Is vull: http://%s/password.cgi' % ips['ip']
                                               
                 i +=1												
except():
         print 'Failed'
开发者ID:LucaBongiorni,项目名称:Routeh,代码行数:33,代码来源:routeh.py

示例14: str

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
workbook = xlsxwriter.Workbook('VulnerableLocation.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': True})

worksheet.write('A1','IP',bold)            
worksheet.write('B1','Latitude',bold)
worksheet.write('C1','Longitude',bold)
worksheet.write('D1','Country',bold)
worksheet.write('E1','Port',bold)


row = 1

try:
        # Search Shodan
        results = api.search('port:32764')

        # Show the results
        print results
        
        for result in results['matches']:   
            ipaddress = result['ip']
            latitude = result['latitude']
            longitude = str(result['longitude'])
            country = result['country_name']
            port = result['port']
            worksheet.write(row, 0, ipaddress)
            worksheet.write(row, 1, latitude)
            worksheet.write(row, 2, longitude)
            worksheet.write(row, 3, country)
            worksheet.write(row, 4, port)
开发者ID:yirongzhu,项目名称:Shodan-Project,代码行数:33,代码来源:Shodan_Project004.py

示例15: WebAPI

# 需要导入模块: from shodan import WebAPI [as 别名]
# 或者: from shodan.WebAPI import search [as 别名]
'''
Created on Feb 22, 2014

@author: Zhu Yirong
'''

from shodan import WebAPI
SHODAN_API_KEY = "CUn5UHoYD784Z3AlfUdvulRjiP2oUBfm"
api= WebAPI(SHODAN_API_KEY)
# Wrap the request in a try/ except block to catch errors
try:
    # Search Shodan
    results = api.search('apache')
    print results
    # Show the results
    for result in results['matches']:
        if '200 OK' in result['data']:
            print 'IP: %s' % result['ip']

except Exception, e:
    print 'Error: %s' % e
开发者ID:yirongzhu,项目名称:Shodan-Project,代码行数:23,代码来源:Shodan_Project001.py


注:本文中的shodan.WebAPI.search方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。