Пример #1
0
	def response_alert(self, data):
		""" ALERT received from kismet """
		alert = kismet.parse(kismet.ALERT, data)
		gui.unlock()
		# better write it to statusbar
		log.write('Alert: ' + alert['text'])
		log.write_status('Alert: ' + alert['text'])
		gui.lock()
Пример #2
0
	def response_card(self, data):
		""" Current wireless CARD information """
		global card
		card = kismet.parse(kismet.CARD, data)
		gui.unlock()
		log.write_status('Received %s packets on channel %s (%s)' % (card['packets'],
				card['channel'], card['hopping'] == '1' and 'hopping' or 'locked'))
		gui.lock()
Пример #3
0
		
	def menuVisualize_activate(self, widget):
		from rendering import generate as heatmap, GoogleMaps
		# generate heatmap
		log.write_status('Start generating heatmap...')
		points = heatmap.run()
		log.write_status('Done! Starting mapper now.')
		
		# generate maps
		maps = GoogleMaps.PyMapper()
		maps.add_image('final.png', points.min_tilex, points.min_tiley, GoogleMaps.DEFAULT_ZOOM)
Пример #4
0
		
def init():
	global window
	window = MainWindow()
	log.write_status('Not scanning.')
	
	# initialize GTK gui
	gtk.gdk.threads_init()
	unlock()
	try:
		gtk.main()
	except KeyboardInterrupt:
		window._shutdown()
Пример #5
0
	
	def menuStart_activate(self, widget):
		if not scanner.running:
			scanner.start()
			log.debug('start')
			log.write_status('Wireless scanning %s.' % (scanner.running
							and 'started'
							or 'not started'))
		else:
			scanner.stop()
			log.debug('stop')
			log.write_status('Wireless scanning %s.' % (scanner.running
							and 'not stopped'
Пример #6
0
	def __init__(self):
		self.functions = {
			'KISMET': self.response_kismet,
			'NETWORK': self.response_network,
			'ALERT': self.response_alert,
			'REMOVE': self.response_remove,
			'CARD': self.response_card,
			'ERROR': self.response_error,
			## Unimplemented yet/uninteresting
			'PROTOCOLS': self.response_noop,
			'CLIENT': self.response_noop,
			'STATUS': self.response_noop,
			'TIME': self.response_noop,
			'GPS': self.response_noop,
			'INFO': self.response_noop
		}
		
		self.run_flag = True
		# Check if we need to spawn kismet server
		if config.ExecuteKismet and sys.platform != 'win32':
			self.process = subprocess.Popen('kismet_server')
			# exit critical region first
			gui.lock()
			time.sleep(5)
			gui.unlock()
			# TODO: add progress bar
		else:
			self.process = None
			
		log.write('Started kismet server')
		# connect to server
		self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		self.socket.connect(('localhost', 2501))
		self.sockfile = self.socket.makefile("rw")
		log.write('Connected to kismet server')
		self.command_initialize()		
		log.write_status('Connected to kismet instance')