Voltar às atualizações
New releaseAug 20, 2026

File-Tunnel v3.5.2

Tunelar conexões TCP através de um arquivo

Compartilhar

File Tunnel

Túnel de conexões TCP através de um servidor de arquivos.

Uma lista completa dos sistemas de arquivos suportados pode ser encontrada aqui.


Download

Executáveis portáteis para Windows, Linux e Mac podem ser encontrados na seção releases.


Exemplo 1 - Contornando um firewall

Você quer se conectar do Host A ao Host B, mas há um firewall no caminho. Porém, ambos os hosts têm acesso a uma pasta compartilhada.

ft_fw

Host A

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

Este comando escuta conexões na porta 5000. Quando uma conexão é recebida, ela é encaminhada através do túnel de arquivos e então para 127.0.0.1:3389.

Host B

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

Agora, no Host A, conecte o cliente a 127.0.0.1:5000 e ele será encaminhado para o servidor remoto.



É assim que o File Tunnel se parece quando está em operação:


Screenshot




Exemplo 2 - Túnel TCP via RDP (semelhante a túnel SSH)

Você quer se conectar a um serviço remoto (ex.: 192.168.1.50:8888), mas só tem acesso ao Host B usando RDP.

Host A

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

Execute um cliente RDP e certifique-se de que as unidades locais estão compartilhadas, conforme mostrado aqui.

Conecte via RDP ao Host B.

Host B

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

Agora, no Host A, você pode se conectar a 127.0.0.1:5000 e ele será encaminhado para 192.168.1.50:8888




Outros recursos interessantes

  • -L pode ser usado várias vezes para encaminhar diversas portas através de um único túnel.

  • Para permitir que outros computadores usem o túnel, especifique um endereço de bind 0.0.0.0. Por exemplo: -L 0.0.0.0:5000:192.168.1.50:3389 permite que qualquer computador da rede se conecte ao túnel e a 192.168.1.50:3389

  • Use -R para encaminhamento remoto. Por exemplo: -R 5000:10.0.0.50:6000 instrui o lado remoto a escutar na porta 5000 e, quando uma conexão é recebida, encaminhá-la através do túnel até 10.0.0.50:6000 via máquina local. Isso permite compartilhar com outros computadores um servidor que esteja rodando na sua máquina local.

  • Use -D para encaminhamento dinâmico (SOCKS), exatamente como SSH. Por exemplo: -D 1080 inicia um proxy SOCKS4/4a/5 na porta 1080; cada conexão é originada do lado remoto, para que os aplicativos possam alcançar o que a máquina remota alcança. Um -R 1080 simples (sem destino) é o inverso: ele hospeda o proxy SOCKS no lado remoto, fazendo a saída pela sua máquina local. Suporta TCP (CONNECT) e UDP SOCKS5 (ASSOCIATE); sem autenticação.

  • Use --http-proxy para um proxy HTTP. Por exemplo: --http-proxy 8080 inicia um proxy CONNECT HTTP na porta 8080, originado do lado remoto (aponte um navegador ou curl -x http://127.0.0.1:8080 https://example.com para ele). Use --remote-http-proxy 8080 para hospedar o proxy no lado remoto, fazendo a saída pela sua máquina local. Apenas método CONNECT (HTTPS e qualquer túnel TCP); sem autenticação.

  • Você pode usar a conexão de internet de outro computador seguindo estas instruções.




Como funciona?

O programa inicia um listener TCP e, quando uma conexão é recebida, grava os dados TCP em um arquivo. Esse mesmo arquivo é lido pelo programa correspondente, que estabelece uma conexão TCP e repassa os dados TCP. Para evitar que o arquivo compartilhado cresça indefinidamente, ele é limpo sempre que fica maior que 10 MB.

Categorias