サーバのプログラミングをもうしたくないので、しなくてもいい方法について
inetdみたいなネットワークサービスデーモンを探す
- inetd (openbsd-inetd)
- Debianでtelnetとかに使ってたやつ
- xinetd
- Redhatでtelnetとかに使ってたやつ
- tcpserver (ucspi-tcp)
- qmailが使ってたやつ
- micro-inetd
- tcpserverのしょぼい版
- ipsvd
- SSLが使えるinetdみたいなやつらしい
- netcat
- ネットワークなんでもツール
- socat
- 超すごいネットワークなんでもツール
inetd (openbsd-inetd)
apt-get install openbsd-inetd
/etc/inetd.conf に設定を足すだけでいい
もっとも簡単なサービスの設定サンプル
# 日付表示 9998 stream tcp nowait.999 root /bin/date # エコーリプライ 9999 stream tcp nowait.999 root /bin/cat
inetutils-inetd
apt-get install inetutils-inetd
openbsd-inetd と入れ替わりで使う。 こっちは/etc/inetd.d/ が使えるようになる。
ほかの機能の違いはわからない。
# 日付表示 9998 stream tcp nowait.999 root /usr/sbin/tcpd /bin/date # エコーリプライ 9999 stream tcp nowait.999 root /usr/sbin/tcpd /bin/cat
TCP wrapper(/usr/sbin/tcpd)抜きで起動する方法はわからない
xinetd
apt-get install xinetd
openbsd-inetd と入れ替わりで使う。 実は /etc/inetd.conf でも動作する。
(ただしサービス名は/etc/servicesにちゃんと書く必要あり)
もっとも簡単なサービスの設定サンプル
# 日付表示 testdate stream tcp nowait.999 root /usr/sbin/tcpd /bin/date # エコーリプライ testcat stream tcp nowait.999 root /usr/sbin/tcpd /bin/cat
tcpserver (ucspi-tcp)
apt-get install ucspi-tcp
もっとも簡単なサービスの起動サンプル
# 日付表示 tcpserver -R 0.0.0.0 9998 /bin/date # エコーリプライ tcpserver -R 0.0.0.0 9999 /bin/cat
-Rを付けないと起動時に26秒停止してしまう
micro-inetd
apt-get install micro-inetd
超単機能版。組込みとかでなら必要十分か
もっとも簡単なサービスの起動サンプル
# 日付表示 micro-inetd 9998 /bin/date # エコーリプライ micro-inetd 9999 /bin/cat
socat
apt-get install socat
サーバ程度お茶の子さいさいだけど、なんでもできる分サイズがでかい
# 日付表示 socat -v tcp-listen:9998,fork,reuseaddr system:/bin/date # エコーリプライ socat -v tcp-listen:9999,fork,reuseaddr system:/bin/cat