Torna agli aggiornamenti
New releaseAug 20, 2026

File-Tunnel v3.5.2

Instrada connessioni TCP attraverso un file.

Condividi

File Tunnel

Instrada connessioni TCP attraverso un server di file.

Un elenco completo dei file system supportati è disponibile qui.


Download

Eseguibili portatili per Windows, Linux e Mac sono disponibili nella sezione release.


Esempio 1 - Bypassare un firewall

Vorresti connetterti dall'Host A all'Host B, ma c'è un firewall in mezzo. Tuttavia entrambi gli host hanno accesso a una cartella condivisa.

ft_fw

Host A

ft.exe -L 5000:127.0.0.1:3389 --write "\\server\share\1.dat" --read "\\server\share\2.dat"

Questo comando resta in ascolto sulla porta 5000. Quando viene ricevuta una connessione, viene inoltrata attraverso il tunnel di file e quindi a 127.0.0.1:3389.

Host B

ft.exe --read "\\server\share\1.dat" --write "\\server\share\2.dat"

Ora, sull'Host A, collega il client a 127.0.0.1:5000 e la connessione verrà inoltrata al server remoto.



Ecco come appare File Tunnel quando è in funzione:


Screenshot




Esempio 2 - Tunnel TCP tramite RDP (simile a un tunnel SSH)

Vorresti connetterti a un servizio remoto (ad es. 192.168.1.50:8888), ma hai accesso solo all'Host B tramite RDP.

Host A

ft.exe -L 5000:192.168.1.50:8888 --write "C:\Temp\1.dat" --read "C:\Temp\2.dat"

Avvia un client RDP e assicurati che le unità locali siano condivise come mostrato qui.

Connettiti all'Host B tramite RDP.

Host B

ft.exe --read "\\tsclient\c\Temp\1.dat" --write "\\tsclient\c\Temp\2.dat"

Ora, sull'Host A, puoi connetterti a 127.0.0.1:5000 e la connessione verrà inoltrata a 192.168.1.50:8888




Altre funzionalità interessanti

  • -L può essere usato più volte per inoltrare numerose porte attraverso un unico tunnel.

  • Per consentire ad altri computer di usare il tunnel, specifica un indirizzo di bind 0.0.0.0. Ad esempio: -L 0.0.0.0:5000:192.168.1.50:3389 permette a qualsiasi computer della rete di connettersi al tunnel e quindi a 192.168.1.50:3389

  • Usa -R per l'inoltro remoto. Ad esempio: -R 5000:10.0.0.50:6000 istruisce il lato remoto ad ascoltare sulla porta 5000 e, quando viene ricevuta una connessione, a inoltrarla attraverso il tunnel fino a 10.0.0.50:6000 tramite la macchina locale. Questo ti permette di condividere un server in esecuzione sulla tua macchina locale con altri computer.

  • Usa -D per l'inoltro dinamico (SOCKS), proprio come SSH. Ad esempio: -D 1080 avvia un proxy SOCKS4/4a/5 sulla porta 1080; ogni connessione viene instaurata dal lato remoto, quindi le applicazioni possono raggiungere tutto ciò che la macchina remota può raggiungere. Un semplice -R 1080 (senza destinazione) è l'inverso: ospita il proxy SOCKS sul lato remoto, effettuando le connessioni in uscita tramite la tua macchina locale. Gestisce sia TCP (CONNECT) che SOCKS5 UDP (ASSOCIATE); nessuna autenticazione.

  • Usa --http-proxy per un proxy HTTP. Ad esempio: --http-proxy 8080 avvia un proxy HTTP CONNECT sulla porta 8080, le cui connessioni vengono instaurate dal lato remoto (punta un browser o curl -x http://127.0.0.1:8080 https://example.com verso di esso). Usa --remote-http-proxy 8080 per ospitare invece il proxy sul lato remoto, effettuando le connessioni in uscita tramite la tua macchina locale. Solo metodo CONNECT (HTTPS e qualsiasi tunnel TCP); nessuna autenticazione.

  • Puoi usare la connessione internet di un altro computer seguendo queste istruzioni.




Come funziona?

Il programma avvia un listener TCP e, quando riceve una connessione, scrive i dati TCP in un file. Questo stesso file viene letto dal programma gemello, che stabilisce una connessione TCP e inoltra i dati TCP. Per evitare che il file condiviso cresca all'infinito, viene ripulito ogni volta che supera i 10 MB.

Categorie