
File-Tunnel v3.5.2
Instrada connessioni TCP attraverso un file.
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.

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:

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
-
-Lpuò 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:3389permette a qualsiasi computer della rete di connettersi al tunnel e quindi a 192.168.1.50:3389 -
Usa
-Rper l'inoltro remoto. Ad esempio:-R 5000:10.0.0.50:6000istruisce 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
-Dper l'inoltro dinamico (SOCKS), proprio come SSH. Ad esempio:-D 1080avvia 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-proxyper un proxy HTTP. Ad esempio:--http-proxy 8080avvia un proxy HTTP CONNECT sulla porta 8080, le cui connessioni vengono instaurate dal lato remoto (punta un browser ocurl -x http://127.0.0.1:8080 https://example.comverso di esso). Usa--remote-http-proxy 8080per 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.