Preciso fazer algumas pequenas modificações no tráfego de entrada de um host tcp: port conhecido antes que o processo de manipulação da conexão obtenha o fluxo.
Por exemplo, seja 192.168.1.88 um host remoto que execute um servidor web.
Eu preciso disso, quando um processo no meu host local recebe dados de 192.168.1.88:80 (por exemplo, o navegador), os dados são alterados primeiro substituindo text-A
por text-B
, como este:
- 127.0.0.1: ... conecta-se a 192.168.1.88:80
127.0.0.1: ... envia para 192.168.1.88:80:
GET /
192.168.1.88:80 envia para 127.0.0.1: ...:
HTTP/1.0 200 OK Content-Type: text/plain Some text-A, some other text
Esses dados são um pouco interceptados pelo sistema e transmitidos para um programa cuja saída é:
HTTP/1.0 200 OK Content-Type: text/plain Some text-B, some other text
o sistema fornece os dados alterados para o processo que manipula 127.0.0.1: ..., como se fosse de 192.168.1.88:80.
Supondo que eu tenha uma maneira baseada em fluxo para fazer essas alterações (usando, sed
por exemplo), qual é a maneira mais fácil de pré-processar o fluxo tcp recebido?
Acho que isso envolveria iptables
, mas não sou muito bom nisso.
Observe que o aplicativo deve lidar com o host original, portanto, a configuração de um proxy provavelmente não é uma solução.