Ich habe eine Anwendung namens „Server“ auf dem lokalen Host, die an Port 1000 gebunden ist. Ich habe ebenfalls auf dem lokalen Host eine andere Anwendung namens „Client“, die eine Verbindung zu 1000 herstellt, um mit dem Server zu kommunizieren.
Ich kann den Quellcode für Server oder Client nicht ändern.
Ich möchte eine Anwendung namens Middle schreiben und möchte, dass der Client eine Verbindung zu dieser Anwendung statt zum Server herstellt. Middle soll die Daten, die es vom Client empfängt, an den Server weiterleiten und auch die Antworten vom Server an den Client weiterleiten.
Ich möchte, dass Middle auch auf dem lokalen Host liegt.
Ist das möglich?
Ich dachte, dass iptables verwendet werden könnte, indem Daten auf Port 1000 an einen anderen Port weitergeleitet werden, aber das wirkt sich auch auf Middle aus und verhindert, dass sie an den Server gesendet werden. Die Weiterleitung muss also anwendungsspezifisch sein.
Antwort1
Nein, das ist nicht möglich.
Die einzige Problemumgehung, die ich vorschlagen kann, besteht darin, eine kleine Kopie von Linux unter einer Virtualbox oder Ähnlichem auszuführen, die als eine Hälfte des Systems fungiert.