Que tal.
bueno, pues los ataques simples tipo MitM ( Man In The Middle ) se suelen usar para esto.
Los típicos suelen ser PoCs como sshmitm de la suite Dsniff ( de Dugsong ) los cuales demuestran ( por ello PoC en este caso ) lo que se puede hacer con tipo de ataque tal.
Ahora, yo te sugiero un ataque MiTM, como ves. Creo que te recomendé TCP Hijacking, pero puedes echarle un vistazo al code de alguna tool ( o buscar ya una hecha para lo que quieres ) y retocarlo para tus necesidades.
1 - que los paquetes tcp que salgan de mi ordenador hacia la ip A y puerto desrtino P se redireccionen a mi máquina al puerto 7777(que es donde esta escuchando mi script en python )
Es que no lo cogí muy bien.. quieres que paquetes salientes, se redirijan de nuevo a tu máquina ?? Para eso está la interfaz de loopback !! Hehe. es broma.
Es que no tiene mucho sentido. A ver, un paquete que sale a una IP dada hacia un puerto dado, en principio .. para que redireccionas a tu propia máquina a un puerto local ??
No se, si me pones más en contexto pues mejor lo entendería.
De todas maneras ya distes con la "clave" :_).
Pero sigo diciendo que cual es el propósito...
2 - que los paquetes que salgan de mi maquina por procesos con uid de root salgan normal(para evitar caer en bucle) esta regla deberia tener mas prioridad que la 1
Bueno, pues al grano, lo de iptables lo puedes hacer desde una app en C, y con setreuid() podrías hacer lo del segundo paso /* setuid() .. */
3 - que los paquetes tcp que vienen de A y puerto fuente P se redireccionen a el puerto 7777
# iptables -t nat -A PREROUTING -i eth0 -p tcp --sport P -s A -j DNAT --to 127.0.0.1:7777
Saludos.