J'ai besoin d'apporter une petite modification au trafic entrant d'un hôte TCP connu: port avant que le processus gérant la connexion ne reçoive le flux.
Par exemple, laissez 192.168.1.88 être un hôte distant qui exécute un serveur Web.
J'ai besoin de cela, lorsqu'un processus sur mon hôte local reçoit des données de 192.168.1.88:80 (par exemple le navigateur), les données sont d'abord modifiées en remplaçant text-A
par text-B
, comme ceci:
- 127.0.0.1: ... se connecte à 192.168.1.88:80
127.0.0.1: ... envoie à 192.168.1.88:80:
GET /
192.168.1.88:80 envoie à 127.0.0.1: ...:
HTTP/1.0 200 OK Content-Type: text/plain Some text-A, some other text
Ces données sont quelque peu interceptées par le système et transmises à un programme dont la sortie est:
HTTP/1.0 200 OK Content-Type: text/plain Some text-B, some other text
le système donne les données ainsi modifiées au processus gérant 127.0.0.1: ..., comme si elles venaient de 192.168.1.88:80.
En supposant que j'ai une méthode basée sur le flux pour effectuer ces modifications (en utilisant sed
par exemple), quelle est la façon la plus simple de prétraiter le flux TCP entrant?
Je suppose que cela impliquerait iptables
, mais je ne suis pas très bon dans ce domaine.
Notez que l'application doit sembler traiter l'hôte d'origine, donc la configuration d'un proxy n'est probablement pas une solution.