Sperando che tu abbia *nix su tutti e due i lati della comunicazione, si dovrebbe poter fare in almeno tre modi diversi.Originariamente inviato da IroN@xiD
[...]Mi chidevo se esiste un software in grado di agire come una sorta di proxy all'intero di una comunicazione TCP/IP e di eseguire la compressione dei dati.
Per spiegarmi meglio. Ho un host e un client che comunicano tra loro con TCP/IP. Mi piacerebbe sapere se esiste un software che installato nel client e nell'host sia in grado di creare un canale compresso tra i due computer.
1) (io inizierei cosi`) se client e server possono inviare/ascoltare su porte configurabili, potresti fare una cosa tipo:
E` una soluzione ovviamente molto grezza, ma come ripiego dovrebbe essere accettabilecodice:user@server$ server --port STANDARD_PORT+1 user@server$ nc -l -p STANDARD_PORT | gzip -d | nc server STANDARD_PORT+1 [...] user@client$ nc -l -p STANDARD_PORT | gzip | nc server STANDARD_PORT user@client$ client --address localhost:STANDARD_PORT
2) se client e/o server NON possono cambiare le porte TCP per la comunicazione (groan) potresti comunque provare ad applicare il giochino del punto precedente aiutandoti con iptables. Dovrebbe essere possibile ma non so bene come (mai fatto)
3) se non puoi applicare nessuno dei due punti precedenti, o se non vuoi farlo, forse potresti trovare utile un server SOCKS (o forse mi sto confondendo?) per intercettare la comunicazione, ma l'idea di fondo resta quella
4) se non puoi/vuoi usare neanche questo, l'unica alternativa rimasta e` scriversi un wrapper (da inserire a runtime via LD_PRELOAD!) per le funzioni sui socket. E` fattibile ma occorre un bel po` di cura.
HTH


Rispondi quotando