Hola a todos, miren estoy buscando la manera más eficiente de poder hacer todos estos procesos sin que el programa falle y con el mínimo consumo de CPU, puesto que un MITM, puede quemar mucho el ordenador y más si está mal estructurado.
Voy a añadir una función única hasta ahora (que yo sepa) al MITM, que es que escanee los hosts cada cierto tiempo, para actualizar la lista a la que hace spoofing, pues sino se acabará quedando vieja, spoofeará hosts que se hayan desconectado y no tendrá en cuenta los nuevos.
Luego tiene que hacer:
1. Escanear los hosts en primera ejecución y cada X tiempo. (actualizando la lista de usuarios).
2. Realizar arp spoofing a los hosts y a la gateway, pasando a los hosts la ip del gateway, y mi mac (no se si esto es lo mejor), luego a el gateway le paso la ip de los hosts y mi mac. Así pues cuando el router responda a una peticion del host la mandará a mi mac, sea cual sea la ip del host.
3. Redirigir paquetes, escuchando en la red. Los de los hosts los mando al router, los de el router les miro la ip y los mando a su correspondiente host (del cual tengo la mac en la lista, aqui tambien hay problemas porque despues de spoofearlos muestran mi mac), tendré que eliminar aquellos que tengan mi mac.
4. Analizar tráfico al redirigir paquetes, modificar paquetes, disfrutar de la red en general
Pero claro, ¿como sincronizo todo esto? ¿Cómo lo plantearíais vosotros de la manera más inteligente y funcional?, la verdad es que son muchos procesos, estoy probando cosas, pero siempre me falla algo.
Por ejemplo he probado a hacer un proceso que haga spoofing cada 2 segundos a los hosts, y cada 60 segundos reescanea la red por ejemplo, en ese tiempo de reescaneo no spoofea, la idea sería, dividirlo en 2 uno que spoofea a los hosts, y pasado X tiempo llama al escaner, pero ahí hacer que el escaner ya esté hecho para poder recoger los hosts al momento y continuar el spoofing, pero no conozco métodos de espera en procesos me vendría bien que me dijerais alguno.
Eso nos permitiría hacer arp spoofing a los host de la red de manera dinamica, pues cada cierto tiempo habremos reescaneado la red, ya dije que en ese reescaner aparecen con mi mac, pero creo que podría solucionarlo.
Luego pasaría a redirigir el tráfico para ello necesitaría la dirección mac de los hosts y acceder a la lista de hosts que está siendo utilizada por el spoofer, ahí tendríamos el mayor problema, pues cuando el router nos envíe el paquete para la ip del ordenador B, tendremos que reenviarsela a ese ordenador a través de su MAC, y nosotros somos los unicos que la sabremos entonces. Luego necesitaremos tener la lista de hosts.
Y luego ya sería meter filtros a la hora de reenviar paquetes, que no habría ningún problema.
Saludos, a ver si me podéis iluminar un poco porque a veces también yo me hago mucho lío.