Devo apportare alcune piccole modifiche al traffico in entrata da un host tcp noto: porta prima che il processo che gestisce la connessione ottenga il flusso.
Ad esempio, lasciare 192.168.1.88 essere un host remoto che esegue un server web.
Ho bisogno che, quando un processo sul mio host locale riceve i dati da 192.168.1.88:80 (ad esempio il browser), i dati vengano prima cambiati sostituendoli text-A
con text-B
, in questo modo:
- 127.0.0.1: ... si collega a 192.168.1.88:80
127.0.0.1: ... invia a 192.168.1.88:80:
GET /
192.168.1.88:80 invia a 127.0.0.1: ...:
HTTP/1.0 200 OK Content-Type: text/plain Some text-A, some other text
Tali dati vengono in qualche modo intercettati dal sistema e passati a un programma il cui output è:
HTTP/1.0 200 OK Content-Type: text/plain Some text-B, some other text
il sistema fornisce i dati così modificati al processo gestendo 127.0.0.1: ..., come se provenisse da 192.168.1.88:80.
Supponendo che io abbia un modo basato sul flusso per effettuare queste modifiche (usando sed
ad esempio), qual è il modo più semplice per pre-elaborare il flusso tcp in entrata?
Immagino che ciò implicherebbe iptables
, ma non sono molto bravo.
Si noti che l'applicazione dovrebbe avere a che fare con l'host originale, quindi l'impostazione di un proxy non è probabilmente una soluzione.