En Boost ASIO, ¿cómo puedo configurar la dirección IP de origen para suplantar la dirección IP de otro servidor?

Tengo un programa de servidor C ++ Boost basado en ASIO y me gustaría poder configurar la dirección IP de origen utilizada por TCP a la de otro servidor. Sé que uno puede leer las direcciones IP de origen y de destino, pero presumiblemente también se pueden configurar.

Presumiblemente, si configuro la dirección IP de origen "incorrecta" en el código C ++, habrá alguna interacción con la pila de red. ¿La pila de red no restablecerá la dirección IP de origen al salir incluso si el código C ++ es correcto? ¿Es la forma correcta de hacer esto para escribir código ASIO C ++ para elegir una interfaz de red virtual específica? ¿Uno configurado con la dirección IP estática "incorrecta"? He visto esto antes como una forma de controlar la dirección IP de origen. ¿Es eso lo que tengo que hacer en su lugar?

Me pregunto cuáles serían las consecuencias de esto. Tener dos máquinas con la misma dirección IP estática configurada puede hacer que el servidor "normal" deje de funcionar por completo, lo que sería malo.

Tengo los puertos de Windows y Linux de mi servidor que puedo usar en caso de que el código propuesto funcione en un sistema operativo y no en el otro. Actualmente me estoy inclinando hacia Kali Linux, ya que puedo "arpspoof" el servidor principal y efectivamente apagarlo por un tiempo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta