NetBSD2 | NetBSD | 1.6 | amd | autoconf | apache | bind | booting | boot/install/disk | boot-cd | build.sh | (daily) | Canna | CF+sendmail | cvs | dhcpd | dvi2ps | emacs-20 | ftpmirror | fvwm2 | gcc | gettext | ghostscript | inn | IPv6 | jitterbug | Install(OHP) | kernel | (old) | majordomo | make build | MHonArc | MRTG | namazu | ndtpd | PHP + PostgreSQL | netatalk | netboot | NFS | NIS | ntp | opie | Open Firmware | perl | procmail | sendmail | sharutils | smtpfeed | tcsh | TeX | time make | ucspi-tcp | w3 | wget | Wnn | wu-ftpd | X11 | Site Map |
全文検索
pkgsrc/net/

ucspi-tcp

URL:
FTP:
ftp://ftp.win.ne.jp/pub/network/mail/qmail/
作者 D.J.Berstein からの情報
ftp://koobera.math.uic.edu/www/ucspi-tcp.html
導入例
http://yuzu.jaist.ac.jp/~yanohiro/tcpserver.html
tar zxf /pub/network/ucspi-tcp-0.80.tar.gz
cd ucspi-tcp-0.80/
make
(su)
make setup
○ make setup の様子
root@tateyama  6:06:27/980805(...ml-making/ucspi-tcp-0.80)# make setup
nroff -man tcpclient.1 > tcpclient.0
nroff -man tcpserver.1 > tcpserver.0
nroff -man tcprules.1 > tcprules.0
nroff -man tcp-environ.5 > tcp-environ.0
./install "`head -1 conf-bin`" < BIN
./install "`head -1 conf-man`" < MAN
root@tateyama  6:07:32/980805(...ml-making/ucspi-tcp-0.80)# 

○その結果入ったもの
makoto@tateyama  19:49:36/980805(...ml-making/ucspi-tcp-0.80)> find /usr/local \( -type f -o -type l \) -ctime -1 -ls
  1493    2 -rwxr-xr-x    1 root     wheel         143 Aug  5 06:07 /usr/local/bin/tcpcat
  1485   64 -rwx--x--x    1 root     wheel       32768 Aug  5 06:07 /usr/local/bin/tcpclient
  1486   80 -rwx--x--x    1 root     wheel       40960 Aug  5 06:07 /usr/local/bin/tcpserver
  1487   48 -rwx--x--x    1 root     wheel       24576 Aug  5 06:07 /usr/local/bin/tcprules
  1488   32 -rwx--x--x    1 root     wheel       16384 Aug  5 06:07 /usr/local/bin/addcr
  1489   32 -rwx--x--x    1 root     wheel       16384 Aug  5 06:07 /usr/local/bin/delcr
  1490    2 -rwxr-xr-x    1 root     wheel         157 Aug  5 06:07 /usr/local/bin/who@
  1491    2 -rwxr-xr-x    1 root     wheel         157 Aug  5 06:07 /usr/local/bin/date@
  1492    2 -rwxr-xr-x    1 root     wheel         203 Aug  5 06:07 /usr/local/bin/finger@
  1494    2 -rwxr-xr-x    1 root     wheel         234 Aug  5 06:07 /usr/local/bin/mconnect
 28348    6 -rw-r--r--    1 root     wheel        2093 Aug  5 06:07 /usr/local/man/man1/tcpclient.1
 28349    8 -rw-r--r--    1 root     wheel        3624 Aug  5 06:07 /usr/local/man/man1/tcpserver.1
 28350    8 -rw-r--r--    1 root     wheel        3315 Aug  5 06:07 /usr/local/man/man1/tcprules.1
  8110    8 -rw-r--r--    1 root     wheel        3443 Aug  5 06:07 /usr/local/man/cat1/tcpclient.0
  8111   12 -rw-r--r--    1 root     wheel        5524 Aug  5 06:07 /usr/local/man/cat1/tcpserver.0
  8112   12 -rw-r--r--    1 root     wheel        5209 Aug  5 06:07 /usr/local/man/cat1/tcprules.0
  9493    4 -rw-r--r--    1 root     wheel        1274 Aug  5 06:07 /usr/local/man/man5/tcp-environ.5
 10788    4 -rw-r--r--    1 root     wheel        1935 Aug  5 06:07 /usr/local/man/cat5/tcp-environ.0
makoto@tateyama  19:50:07/980805(...ml-making/ucspi-tcp-0.80)> 

tcpcat
tcpclient 「telnet だと思えば分りやすい」で合っていると思う。
tcpserver  inetd の置換えだと思えばいい
tcprule   rules.cdb rules.tmp 
   標準入力から読んで rules.cdb に database を作る。
   tcpserver が動作中でもこれをやって構わないが、その切換えのため
   に一時的に rules.tmp を使う。この二つは同じ filesystem のこと
  
addcr
delcr

man tcpserver すると、
tcpserver  
  [ -qQvdDoOpPhHrR1 ] 
  [ -climit ]          いくつまでお相手するか( 40 )
  [ -bbacklog ]        同時に受取った SYN をいくつまで覚えているか (20)
  [ -xrules.cdb ]      tcprule で作る
  [ -ggid ]            gid
  [ -uuid  ]           uid
  [ -llocalname  ]     localhost 名を見に行かない
  [ -ttimeout ]        時間切れの設定 (26)
      host             この名前で受付け
      port             この番号の口で受付け 
      program [ arg ...  ]  その時に何を起動するか。

のように使うと書いてある。(内は無指定時の設定)

試しに動かす。
○ tcprules を使って database を作る。
(まず文字形式で作って)
root@tateyama  21:13:36/980805(/etc)# cat tcp-rule/telnet 
210.145.40.112-127:allow
(tcprules に読ませる)
tcprules < tcp-rule/telnet tcp-rule.db/telnet.db tcp-rule.db/telnet.tmp

○ /etc/inetd.conf の中の telnet を殺しておいてから、
○ 次のように起動すると、他から telnet ml 出来る。
 tcpserver -v -u0 -g0 -x/etc/tcp-rule.db/telnet.db ml telnet  /usr/libexec/telnetd

でも実はこれではだめで、これに関係して
Aug  5 22:17:13 tateyama telnetd[25501]: ttloop:  peer died: Undefined error: 0 
Aug  5 22:17:12 tateyama telnetd[25500]: ttloop:  peer died: Undefined error: 0 
という文字が残っていた。
210.145.40.112-127:allow
:deny
と書く必要がある。

○ splogger というものを使って記録を取ればいいと
http://yuzu.jaist.ac.jp/~yanohiro/tcpserver.html
に書いてあるが、それは qmail の中にある。qmail-1.0.3 を開けて
make splogger とすると出来る。
nroff -man splogger.8 | less すると珍しく遅いよと書いてある。
/etc/rc.local の中から、
sh /etc/tcpserver-start として呼ぶようにして見た。

関係ありそうな Web を見ていると tcpcontrol とか cdb という名前が見
えるが、今では、ucspi-tcp-0.80 を入れるだけで使うことが出来て、こ
れらのものは不要である。

NetBSD-sun3x