
File-Tunnel v3.5.2
Tunnel des connexions TCP à travers un fichier
File Tunnel
Tunnélisez des connexions TCP via un serveur de fichiers.
Une liste complète des systèmes de fichiers pris en charge est disponible ici.
Téléchargement
Des exécutables portables pour Windows, Linux et Mac sont disponibles dans la section releases.
Exemple 1 - Contourner un pare-feu
Vous souhaitez vous connecter de l'hôte A à l'hôte B, mais un pare-feu vous en empêche. Cependant, les deux hôtes ont accès à un dossier partagé.

Hôte A
ft.exe -L 5000:127.0.0.1:3389 --write "\\server\share\1.dat" --read "\\server\share\2.dat"
Cette commande écoute les connexions sur le port 5000. Lorsqu'une connexion est reçue, elle est transférée via le tunnel de fichiers puis vers 127.0.0.1:3389.
Hôte B
ft.exe --read "\\server\share\1.dat" --write "\\server\share\2.dat"
Maintenant, sur l'hôte A, connectez le client à 127.0.0.1:5000 et il sera transféré vers le serveur distant.
Voici à quoi ressemble File Tunnel en fonctionnement :

Exemple 2 - Tunnel TCP via RDP (similaire à un tunnel SSH)
Vous souhaitez vous connecter à un service distant (par ex. 192.168.1.50:8888), mais vous n'avez accès qu'à l'hôte B via RDP.
Hôte A
ft.exe -L 5000:192.168.1.50:8888 --write "C:\Temp\1.dat" --read "C:\Temp\2.dat"
Lancez un client RDP et assurez-vous que les lecteurs locaux sont partagés comme indiqué ici.
Connectez-vous en RDP à l'hôte B.
Hôte B
ft.exe --read "\\tsclient\c\Temp\1.dat" --write "\\tsclient\c\Temp\2.dat"
Maintenant, sur l'hôte A, vous pouvez vous connecter à 127.0.0.1:5000 et il sera transféré vers 192.168.1.50:8888
Autres fonctionnalités intéressantes
-
-Lpeut être utilisé plusieurs fois pour transférer de nombreux ports via un seul tunnel. -
Pour permettre à d'autres ordinateurs d'utiliser le tunnel, spécifiez une adresse de liaison de
0.0.0.0. Par exemple :-L 0.0.0.0:5000:192.168.1.50:3389permet à tout ordinateur du réseau de se connecter au tunnel puis à 192.168.1.50:3389 -
Utilisez
-Rpour le transfert distant. Par exemple :-R 5000:10.0.0.50:6000demande au côté distant d'écouter sur le port 5000, et lorsqu'une connexion est reçue, de la transférer via le tunnel puis vers 10.0.0.50:6000 via la machine locale. Cela vous permet de partager un serveur exécuté sur votre machine locale avec d'autres ordinateurs. -
Utilisez
-Dpour le transfert dynamique (SOCKS), tout comme SSH. Par exemple :-D 1080démarre un proxy SOCKS4/4a/5 sur le port 1080 ; chaque connexion est établie depuis le côté distant, afin que les applications puissent atteindre tout ce que la machine distante peut atteindre. Un-R 1080nu (sans destination) est l'inverse : il héberge le proxy SOCKS sur le côté distant, en établissant les connexions sortantes via votre machine locale. Gère à la fois TCP (CONNECT) et UDP SOCKS5 (ASSOCIATE) ; aucune authentification. -
Utilisez
--http-proxypour un proxy HTTP. Par exemple :--http-proxy 8080démarre un proxy HTTP CONNECT sur le port 8080, établi depuis le côté distant (pointez un navigateur oucurl -x http://127.0.0.1:8080 https://example.comdessus). Utilisez--remote-http-proxy 8080pour plutôt héberger le proxy sur le côté distant, en établissant les connexions sortantes via votre machine locale. Méthode CONNECT uniquement (HTTPS et tout tunnel TCP) ; aucune authentification. -
Vous pouvez utiliser la connexion Internet d'un autre ordinateur en suivant ces instructions.
Comment cela fonctionne-t-il ?
Le programme démarre un écouteur TCP, et lorsqu'une connexion est reçue, il écrit les données TCP dans un fichier. Ce même fichier est lu par le programme homologue, qui établit une connexion TCP et retransmet les données TCP. Pour éviter que le fichier partagé ne croisse indéfiniment, il est purgé dès qu'il dépasse 10 Mo.