socat
が便利だったのでメモ。
socat [options] <address> <address>
一方の address から入ってきたデータを他方の address に流すツール。 address には様々なデータストリームを指定できる。(標準入出力, TCP, UDP, ファイル, コマンドなど)
普通は address は read/write モードでオープンされる。
ただし -u
をつけると一方向にのみ通信を行う。-U
も同様だが方向が逆。
Address Type | Description |
---|---|
EXEC:<command-line> |
子プロセスをフォークして <command-line> を実行する。socat からの入力は子プロセスの stdin に与えられ、子プロセスの stdout は socat へ出力される。<command-line> はシェルが解釈するわけではないことに注意。 |
STDOUT |
stdout に対して入出力する。stdout から入力されても困るので、-u オプションと一緒に使うとよい。 |
TCP:<host>:<port> |
<host>:<port> に対して TCP で接続し、入出力を行う。 |
TCP-LISTEN:<port> |
<port> を listen し、TCP 接続を accept する。 |