Wie kann ich in Boost ASIO die Quell-IP-Adresse so einstellen, dass sie die IP-Adresse eines anderen Servers annimmt?

Ich habe ein Boost ASIO-basiertes C ++ - Serverprogramm und möchte die von TCP verwendete Quell-IP-Adresse auf die eines anderen Servers einstellen können. Ich weiß, dass man die Quell- und Ziel-IP-Adressen lesen kann, aber vermutlich können sie auch eingestellt werden?

Wenn ich im C ++ - Code die "falsche" Quell-IP-Adresse einstelle, kommt es vermutlich zu Interaktionen mit dem Netzwerk-Stack. Wird der Netzwerkstapel die Quell-IP-Adresse nicht beim Hinausgehen zurücksetzen, selbst wenn der C ++ - Code richtig ist? Ist dies der richtige Weg, um C ++ - ASIO-Code für die Auswahl einer bestimmten virtuellen Netzwerkschnittstelle zu schreiben? Eine, die mit der "falschen" statischen IP-Adresse konfiguriert ist? Ich habe dies schon einmal als eine Möglichkeit gesehen, die Quell-IP-Adresse zu steuern. Muss ich das stattdessen tun?

Ich frage mich, welche Konsequenzen dies haben würde. Wenn zwei Computer mit derselben statischen IP-Adresse konfiguriert sind, funktioniert der "normale" Server möglicherweise nicht mehr. Das wäre schlecht.

Ich habe sowohl Windows- als auch Linux-Ports auf meinem Server, die ich verwenden kann, falls der vorgeschlagene Code auf einem Betriebssystem und nicht auf dem anderen funktioniert. Ich neige momentan zu Kali Linux, da ich den Hauptserver "arpspoofen" und ihn für eine Weile effektiv ausschalten kann.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage