NAME¶
stone - Simple TCP/UDP Packet Repeater
SYNOPSYS¶
stone [
-d] [
-n] [
-u max]
[-f n] [-l]
[-z SSL] st [--
st]...
OPTIONS¶
- -d
- デバッグレベルを増加させます。
- -z
- SSL
暗号化のオプションです。
- -n
- ホスト名やサービス名の代わりに
IP
アドレスやサービス番号を表示します。
- -u
- 同時に記憶できる UDP
パケットの発信元の最大数を指定します。
デフォルトは 10
です。
- -f
- 子プロセスの数を指定します。デフォルトは子プロセス無しです。
- -l
- エラーメッセージ等を
syslog へ出力します。
- st
- 次のいずれかです。st
は「
--」で区切ることにより、
複数個指定できます。
- (1)
- host:port sport [xhost ...]
- (2)
- host:port shost:sport [xhost ...]
- (3)
- display [xhost ...]
- (4)
- proxy sport [xhost ...]
- (5)
- host:port/http request [hosts
...]
- (6)
- host:port/proxy header
[hosts...]
stone
を実行しているマシンのポート
sport
への接続を、他のマシ
ン
host のポート
port
へ中継します。インタフェースを複数持つ
マシンでは、(2)
のようにインタフェースのアドレス
shost を指定
することにより、特定のインタフェースへの接続のみを転送することが
できます。
- display [xhost ...]
- X
プロトコル中継のための省略記法です。ディスプレイ番号
display
への接続を、環境変数
DISPLAY で指定した X
サーバへ転送
します。
- proxy sport [xhost ...]
- http proxy です。WWW
ブラウザの http proxy
の設定で、 stone
を実行しているマシンおよびポート
sport を指定します。
- host:port/http request [hosts ...]
- http
リクエストにのせてパケットを中継します。
request は HTTP 1.0
で規定されるリクエストです。
- host:port/proxy header
[hosts...]
- http
リクエストヘッダの先頭に
header
を追加して中継し
ます。
xhost
を列挙することにより、stone
へ接続可能なマシンを制限する
ことができます。マシン名、あるいはその
IP
アドレスを空白で区切っ
て指定すると、そのマシンからの接続のみを中継します。
xhost
に「
/mask」を付けると、特定のネットワークのマシンから
の接続を許可することができます。例えば、クラス
C のネットワーク 192.168.1.0
の場合は、「
192.168.1.0/255.255.255.0」と指定します。
sport
に「
/udp」を付けると、TCP
パケットを中継する代わりに、
UDP
パケットを中継します。
port
に「
/ssl」を付けると、パケットを
SSL
で暗号化して中継します。
sport
に「
/ssl」を付けると、SSL
で暗号化されたパケットを復号化
して中継します。
sport
に「
/http」を付けると、http
リクエスト上のパケットを中継
します。
DESCRIPTION¶
stone
は、アプリケーションレベルの
TCP & UDP
パケットリピーターです。
ファイアウォールの内から外へ、あるいは外から内へ、TCP
パケットあるいは UDP
パケットを中継します。
stone
には以下のような特徴があります。
- 1. Win32 に対応している
- 以前は UNIX
マシンで構成されることが多かったファイアウォールです
が、最近は WindowsNT
が使われるケースが増えてきました。stone
は WindowsNT あるいは Windows95
上で手軽に実行することができます。
もちろん、Linux, FreeBSD, BSD/OS, SunOS,
Solaris, HP-UX などの UNIX
マシンでも使うことができます。
- 2. 単純
- わずか 2000 行 (C 言語)
ですので、セキュリティホールが生じる可能
性を最小限にできます。
- 3. SSLeay 対応
- Eric Young 氏の SSLeay
を使うことにより、暗号化/復号化してパケッ
トを中継できます。
- 4. http proxy
- 簡易型 http proxy
としても使うことができます。
EXAMPLE¶
- outer:
- ファイアウォールの外側にあるマシン
- inner:
- ファイアウォールの内側にあるマシン
- fwall:
- ファイアウォール.
このマシン上で stone
を実行
- stone 7 outer
-
DISPLAY で指定した X server へ X プロトコルを中継
outer で DISPLAY=inner:7 と設定して X クライアントを実行
- stone outer:telnet 10023
-
outer へ telnet プロトコルを中継
inner で telnet fwall 10023 を実行
- stone outer:domain/udp domain/udp
-
DNS 問い合わせを outer へ中継
inner で nslookup - fwall を実行
- stone outer:ntp/udp ntp/udp
-
outer へ NTP を中継
inner で ntpdate fwall を実行
- stone localhost:http 443/ssl
-
WWW サーバを https 対応にする
WWW ブラウザで https://fwall/ をアクセス
- stone localhost:telnet 10023/ssl
-
telnet を SSL 化
inner で SSLtelnet -z ssl fwall 10023 を実行
- stone proxy 8080
-
http proxy
fwall が http proxy (port 8080) である時:
- stone fwall:8080/http 10023 'POST
http://outer:8023 HTTP/1.0'
-
- stone localhost:telnet 8023/http
-
inner と outer でそれぞれ stone を実行
http 上でパケットを中継
- stone fwall:8080/proxy 9080 ´Proxy-Authorization:
Basic c2VuZ29rdTpoaXJvYWtp´
-
proxy 認証に対応していないブラウザ用
COPYRIGHT¶
この stone
に関する全ての著作権は、原著作者である仙石浩明が所有
します。この stone は、GNU
General Public License (GPL) に準ずる
フリーソフトウェアです。個人的に使用する場合は、改変・複製に制限
はありません。配布する場合は
GPL に従って下さい。
DISCLAIMER¶
この stone
は無保証です。この stone
を使って生じたいかなる損害に
対しても、原著作者は責任を負いません。詳しくは
GPL を参照して下 さい。
AUTHOR¶
仙石 浩明
sengoku@gcd.org
http://www.gcd.org/sengoku/