









[blog]
[ML]
[todo]
[CVS]
[bug]
[apache log]
[swiki log]
[statistics]
[map]
[man]
[info]
[アンテナ]
httptunnel
HTTPをトンネルとして経由して別のポートを通す手段。
なんのために必要かというと、portがHTTPや、SMTPしか
あいていない場合(firewallの中)にtelnetをやりたい
場合など。

早速インストールである。
- 本家サイトより、3.3をDLする。
- tar ballを展開して、./configure; make; make install
- 以上

Linuxにサーバーをぶちたてる
起動は、
hts -F localhost:23 8888
などとします。
この場合、port 8888への接続をlocalhostの23番(telnet)へ
フォワードします。
起動時にちゃんと起動できるように、起動スクリプトを書きます。
(rc.localなどに書くとよい)
なお、cronで1時間に1回くらいhtsを起動するようにすると
サーバーが落ちたときにも安心であるらしい。
(が、逆にこのタイミングでコネクションが切れるかもしれない
です。多分、トンネルするだけなので切れないとは思いますが)

自分の中で確認する。
上記でhtsをあげたら、
htc -F 1234 localhost:8888
でhtcをあげておいて、
telnet localhost 1234
でlocalhost:8888を経由して、localhost:23(telnet well known port)
に接続できるはずです。
あと、proxyを経由したい場合には、
htc -F 1234 -P proxy:8080 localhost:8888
などとして、-Pオプションで指定します。

Windowsクライアント
本家サイトには、Windowsクライアントのバイナリへのリンクがあります。
これを使ってみましょう。
こちらに
3.3版のWin32なバイナリがあります。
ダウンロードしたファイルを展開して、中身を同じフォルダにおきます。
使い方は、UNIX版のクライアントと同じです。
下記のようなバッチファイルを書くと幸せになれるかもしれません。
htc.exe -F 2222 target:8888
これを記述したbatファイルをクリックして、teratermで接続先を
localhost, port 2222とすれば、httptunnel経由でtargetの8888
につながっているhtsへ接続できます。

httptunnelとセキュリティ
httptunnelでは、電文の中身はほぼ平文だそうです。
当然、セキュリティ上おおきな問題になります。
ですので、フォワードするポートは、SSHのポートなどに
するべきです。
また、https経由で通すことができるかもしれないですが、
やり方はよくわかりません。

関連サイト

Link to this Page