
File-Tunnel v3.5.2
ファイルを介してTCP接続をトンネリングする
File Tunnel
ファイルサーバーを介して 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 に接続すると、リモートサーバーへ転送されます。
File Tunnel が動作しているときの様子は次のとおりです:

例 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 クライアントを実行し、こちら に示されているようにローカルドライブが共有されていることを確認します。
ホスト B へ RDP 接続します。
ホスト 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は複数回使用でき、1 つのトンネルを通じて複数のポートを転送できます。 -
他のコンピュータがトンネルを使用できるようにするには、バインドアドレスに
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 へ転送します。これにより、ローカルマシンで実行中のサーバーを他のコンピュータと共有できます。 -
SSH と同様に、動的 (SOCKS) 転送には
-Dを使用します。例:-D 1080はポート 1080 で SOCKS4/4a/5 プロキシを起動します。各接続は リモート 側から確立されるため、アプリケーションはリモートマシンが到達できるものすべてにアクセスできます。宛先なしの-R 1080はその逆で、リモート 側で SOCKS プロキシをホストし、ローカルマシン経由で接続を確立します。TCP (CONNECT) と SOCKS5 UDP (ASSOCIATE) の両方を処理します。認証はありません。 -
HTTP プロキシには
--http-proxyを使用します。例:--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 を超えると消去されます。