Cambiar la dirección de destino TCP usando WinDivert o PyDivert

Cambiar la dirección de destino TCP usando WinDivert o PyDivert

Estoy intentando "enrutar" el tráfico TCP utilizando WinDivert para cambiar la dirección de destino (y el puerto) de cierto tráfico saliente.

Comencé a usar PyDivert porque soy un novato total y completo en programación. Pude hacer funcionar los ejemplos, donde se modificó el puerto antes de enviarlo. Sin embargo, no pude lograr que eso funcionara con una dirección IP de destino modificada.

Mi objetivo es redirigir los paquetes TCP desde un programa a través de una máquina/servidor Linux y luego al destino original de esos paquetes. ¡Prácticamente redirigiendo el tráfico!

Creo que el problema que tenía es que no estaba manejando el "camino de regreso", pero no estaba seguro de cómo hacerlo. ¿Está eso controlado en el contenido del paquete saliente? ¿O el paquete encontrará su camino de regreso y tendré que filtrar y cambiar el paquete entrante?

¡Gracias a todos!

información relacionada