
File-Tunnel v3.5.2
Tunelar conexões TCP através de um arquivo
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.

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:

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
-
-Lpode 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:3389permite que qualquer computador da rede se conecte ao túnel e a 192.168.1.50:3389 -
Use
-Rpara encaminhamento remoto. Por exemplo:-R 5000:10.0.0.50:6000instrui 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
-Dpara encaminhamento dinâmico (SOCKS), exatamente como SSH. Por exemplo:-D 1080inicia 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 1080simples (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-proxypara um proxy HTTP. Por exemplo:--http-proxy 8080inicia um proxy CONNECT HTTP na porta 8080, originado do lado remoto (aponte um navegador oucurl -x http://127.0.0.1:8080 https://example.compara ele). Use--remote-http-proxy 8080para 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.