Ich muss einige kleine Änderungen am eingehenden Datenverkehr von einem bekannten TCP-Host vornehmen: port, bevor der Prozess, der die Verbindung verarbeitet, den Stream erhält.
Beispielsweise sei 192.168.1.88 ein Remote-Host, auf dem ein Webserver ausgeführt wird.
Ich brauche das, wenn ein Prozess auf meinem lokalen Host Daten von 192.168.1.88:80 (z. B. dem Browser) empfängt, werden die Daten zuerst geändert und text-A
durch folgende ersetzt text-B
:
- 127.0.0.1: ... stellt eine Verbindung zu 192.168.1.88:80 her
127.0.0.1: ... sendet an 192.168.1.88:80:
GET /
192.168.1.88:80 sendet an 127.0.0.1: ...:
HTTP/1.0 200 OK Content-Type: text/plain Some text-A, some other text
Diese Daten werden vom System etwas abgefangen und an ein Programm übergeben, dessen Ausgabe lautet:
HTTP/1.0 200 OK Content-Type: text/plain Some text-B, some other text
Das System gibt die so geänderten Daten an die Prozessverarbeitung 127.0.0.1: ... weiter, als ob sie von 192.168.1.88:80 stammt.
Angenommen, ich habe eine Stream-basierte Methode, um diese Änderungen vorzunehmen ( sed
z. B. mithilfe von). Was ist der einfachste Weg, um den eingehenden TCP-Stream vorzuverarbeiten?
Ich denke, das würde beinhalten iptables
, aber ich bin nicht sehr gut darin.
Beachten Sie, dass die Anwendung das Gefühl haben sollte, mit dem ursprünglichen Host umzugehen, sodass das Einrichten eines Proxys wahrscheinlich keine Lösung ist.