
File-Tunnel v3.5.2
通过文件隧道传输TCP连接
文件隧道
通过文件服务器隧道传输 TCP 连接。
支持的完整文件系统列表可在此处查看。
下载
适用于 Windows、Linux 和 Mac 的便携式可执行文件可在发行版部分找到。
示例 1 - 绕过防火墙
您希望从主机 A 连接到主机 B,但中间有防火墙阻挡。不过,两台主机都可以访问同一个共享文件夹。

主机 A
ft.exe -L 5000:127.0.0.1:3389 --write "\\server\share\1.dat" --read "\\server\share\2.dat"
该命令在端口 5000 上监听连接。当收到连接时,会通过文件隧道将其转发到 127.0.0.1:3389。
主机 B
ft.exe --read "\\server\share\1.dat" --write "\\server\share\2.dat"
现在在主机 A 上,将客户端连接到 127.0.0.1:5000,它就会被转发到远程服务器。
这就是文件隧道运行时的样子:

示例 2 - 通过 RDP 隧道传输 TCP(类似于 SSH 隧道)
您希望连接到一个远程服务(例如 192.168.1.50:8888),但只能通过 RDP 访问主机 B。
主机 A
ft.exe -L 5000:192.168.1.50:8888 --write "C:\Temp\1.dat" --read "C:\Temp\2.dat"
运行 RDP 客户端,并确保按照此处所示共享本地驱动器。
使用 RDP 连接到主机 B。
主机 B
ft.exe --read "\\tsclient\c\Temp\1.dat" --write "\\tsclient\c\Temp\2.dat"
现在在主机 A 上,您可以连接到 127.0.0.1:5000,它将被转发到 192.168.1.50:8888
其他有趣的功能
-
-L可以多次使用,以通过同一条隧道转发多个端口。 -
要允许其他计算机使用该隧道,请指定绑定地址为
0.0.0.0。例如:-L 0.0.0.0:5000:192.168.1.50:3389允许网络上的任何计算机连接到该隧道并转发到 192.168.1.50:3389 -
使用
-R进行远程转发。例如:-R 5000:10.0.0.50:6000指示_远程_端在端口 5000 上监听,当收到连接时,通过隧道经由本地机器转发到 10.0.0.50:6000。这使您可以与其他计算机共享在本地机器上运行的服务器。 -
使用
-D进行动态(SOCKS)转发,就像 SSH 一样。例如:-D 1080在端口 1080 上启动 SOCKS4/4a/5 代理;每个连接都从_远程_端拨出,因此应用程序可以访问远程机器所能访问的任何内容。单独的-R 1080(无目标地址)则相反:它将 SOCKS 代理托管在_远程_端,通过您的本地机器向外拨出。同时支持 TCP (CONNECT) 和 SOCKS5 UDP (ASSOCIATE);无需认证。 -
使用
--http-proxy作为 HTTP 代理。例如:--http-proxy 8080在端口 8080 上启动 HTTP CONNECT 代理,从_远程_端拨出(将浏览器或curl -x http://127.0.0.1:8080 https://example.com指向它即可)。使用--remote-http-proxy 8080则将代理托管在_远程_端,通过您的本地机器向外拨出。仅支持 CONNECT 方法(HTTPS 和任何 TCP 隧道);无需认证。 -
您可以按照这些说明使用另一台计算机的互联网连接。
它是如何工作的?
该程序启动一个 TCP 监听器,当收到连接时,它会将 TCP 数据写入一个文件。对端程序会读取同一个文件,建立 TCP 连接并转发 TCP 数据。 为避免共享文件无限增长,当它超过 10 MB 时会被清除。