ARP - reenviar o soltar con IPtables

1

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.

    
pregunta LetsCode 25.12.2014 - 01:07
fuente

1 respuesta

1

No has especificado la configuración de tu red (cómo están conectadas las cosas), lo que dificulta descubrir qué está pasando.

Escribir "1" en /proc/sys/net/ipv4/ip_forward le dice al kernel que su computadora está actuando como router : es decir, tiene dos interfaces de red en diferentes subredes, y el kernel debería actuar para pasar paquetes entre ellos. Si realmente tiene una configuración de este tipo, entonces su regla de iptables debería funcionar como espera.

Lo más probable es que su computadora esté actuando como un host común (interfaz de red única en una única subred), y los paquetes que intenta filtrar ni siquiera se acercan a ella. En este caso, deberá volver a conectar su red para que los paquetes del "host A" pasen a través de ella hacia el enrutador; También deberá configurar su computadora para que actúe como un conmutador, puente o enrutador (su elección, dependiendo de cómo quiera que maneje los paquetes que pasan entre las interfaces de red).

    
respondido por el Mark 25.12.2014 - 02:18
fuente

Lea otras preguntas en las etiquetas