
File-Tunnel v3.5.2
Tunelizar conexiones TCP a través de un archivo
File Tunnel
Tuneliza conexiones TCP a través de un servidor de archivos.
Puedes encontrar una lista completa de los sistemas de archivos compatibles aquí.
Descarga
Puedes encontrar ejecutables portátiles para Windows, Linux y Mac en la sección de versiones.
Ejemplo 1 - Evadir un cortafuegos
Quieres conectarte desde el Host A al Host B, pero hay un cortafuegos de por medio. Sin embargo, ambos hosts tienen acceso a una carpeta compartida.

Host A
ft.exe -L 5000:127.0.0.1:3389 --write "\\server\share\1.dat" --read "\\server\share\2.dat"
Este comando escucha conexiones en el puerto 5000. Cuando se recibe una, se reenvía a través del túnel de archivos y luego a 127.0.0.1:3389.
Host B
ft.exe --read "\\server\share\1.dat" --write "\\server\share\2.dat"
Ahora, en el Host A, conecta el cliente a 127.0.0.1:5000 y se reenviará al servidor remoto.
Así es como se ve File Tunnel cuando está operando:

Ejemplo 2 - Tunelizar TCP a través de RDP (similar al túnel SSH)
Quieres conectarte a un servicio remoto (p. ej. 192.168.1.50:8888), pero solo tienes acceso al Host B mediante RDP.
Host A
ft.exe -L 5000:192.168.1.50:8888 --write "C:\Temp\1.dat" --read "C:\Temp\2.dat"
Ejecuta un cliente RDP y asegúrate de que las unidades locales estén compartidas como se muestra aquí.
Conéctate por RDP al Host B.
Host B
ft.exe --read "\\tsclient\c\Temp\1.dat" --write "\\tsclient\c\Temp\2.dat"
Ahora, en el Host A, puedes conectarte a 127.0.0.1:5000 y se reenviará a 192.168.1.50:8888.
Otras características interesantes
-
-Lse puede utilizar varias veces para reenviar múltiples puertos a través de un único túnel. -
Para permitir que otros equipos utilicen el túnel, especifica una dirección de enlace de
0.0.0.0. Por ejemplo:-L 0.0.0.0:5000:192.168.1.50:3389permite que cualquier equipo de la red se conecte al túnel y a 192.168.1.50:3389. -
Usa
-Rpara el reenvío remoto. Por ejemplo:-R 5000:10.0.0.50:6000indica al lado remoto que escuche en el puerto 5000 y, cuando se reciba una conexión, la reenvía a través del túnel y luego a 10.0.0.50:6000 mediante la máquina local. Esto te permite compartir un servidor que se ejecuta en tu máquina local con otros equipos. -
Usa
-Dpara el reenvío dinámico (SOCKS), igual que SSH. Por ejemplo:-D 1080inicia un proxy SOCKS4/4a/5 en el puerto 1080; cada conexión se establece desde el lado remoto, de modo que las aplicaciones pueden alcanzar todo lo que la máquina remota pueda alcanzar. Un-R 1080simple (sin destino) es el inverso: aloja el proxy SOCKS en el lado remoto, estableciendo las conexiones salientes a través de tu máquina local. Maneja tanto TCP (CONNECT) como UDP SOCKS5 (ASSOCIATE); sin autenticación. -
Usa
--http-proxypara un proxy HTTP. Por ejemplo:--http-proxy 8080inicia un proxy HTTP CONNECT en el puerto 8080, estableciendo las conexiones desde el lado remoto (apunta hacia él un navegador ocurl -x http://127.0.0.1:8080 https://example.com). Usa--remote-http-proxy 8080para alojar el proxy en el lado remoto, estableciendo las conexiones salientes a través de tu máquina local. Solo método CONNECT (HTTPS y cualquier túnel TCP); sin autenticación. -
Puedes usar la conexión a internet de otro equipo siguiendo estas instrucciones.
¿Cómo funciona?
El programa inicia un listener TCP y, cuando recibe una conexión, escribe los datos TCP en un archivo. Ese mismo archivo es leído por el programa homólogo, que establece una conexión TCP y reenvía los datos TCP. Para evitar que el archivo compartido crezca indefinidamente, se purga cada vez que supera los 10 MB.