He estado intentando que ARP envenene la computadora de mi casa y el enrutador (para aprender y descubrir el comportamiento de las redes). Y con éxito. Todo el tiempo que he estado usando:
with open('/proc/sys/net/ipv4/ip_forward', 'w') as ipf:
ipf.write('1\n')
Para habilitar el reenvío de puertos. Ahora intentaba eliminar o aceptar paquetes, en función de su IP de origen y destino:
iptables -I FORWARD -s " + HostA.IP + " -d " + Router.IP + " -i wlan0 -j DROP
Este código debería eliminar todos los paquetes del host A, de acuerdo con este esquema:
Poisoned Host A --X---->Me----X---->Router
<------- <---------
Sin embargo, los paquetes del host A todavía llegan al enrutador, por lo que la regla de IPtable no funciona. Mi mejor apuesta es que el paquete que se origina en el host A tiene la IP del enrutador como IP de destino, pero mi dirección MAC como destino de hardware (las tablas ARP están envenenadas ...). ¿Podría esto influir en la "-d" + Router.IP y provocar que las IPtables lo acepten y que lo reenvíen (ip_forward todavía está configurado en 1, y sí, he intentado configurarlo en 0).
¿Alguna sugerencia para hacer que esto funcione (preferiblemente una regla de IPtable que funcione)? Estoy usando Bracktrack 5 r3 Linux, codificando en Python.