
TCPMUX
xinetd RFC 1078 TCPMUX well-known well-known TCPMUX
TCPMUX /etc/xinetd.conf includedir
service_name ( xinetd ) xinetd (RFC 1078 ) well-known TCPMUX
type TCPMUX TCPMUXPLUS TCPMUXPLUS xinetd (RFC 1078 ) type TCPMUX
(RPC /etc/rpc, RPC /etc/services ) type UNLISTED
socket_type stream protocal tcp
TCPMUX
service myorg_server
{
disable = no
type = TCPMUX
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/etc/my_server_exec
}
well-known TCPMUX TCPMUX xinetd :
service tcpmux
{
type = INTERNAL
id = tcpmux
socket_type = stream
protocol = tcp
user = root
wait = no
}
1. : socket_type, wait, protocol, type
2. only_from no_access (defaults) ()
3. IP ( xinetd ) IP xinetd IP IP 1.2.3.4 1.2.3.5 only_from
1.2.3.0
4. USERID ident ident IDONLY
5. UDP TCP ( UDP ) x send(2) SunOS 4.1 SparcStation IPC
() ()
-------------------------- ------------
64 1.19
256 1.51
1024 1.51
4096 3.58
---------- ------------
10000x64 941 (1.2%)
10000x256 4,231 (1.8%)
10000x1024 319,300 (39.5%)
10000x4096 824,461 (62.1%)
#
# xinetd
#
defaults
{
log_type = FILE /var/log/servicelog
log_on_success = PID
log_on_failure = HOST RECORD
only_from = 128.138.193.0 128.138.204.0
only_from = 128.138.252.1
instances = 10
disabled = rstatd
}
#
# 1: protocol
# 2: instances
#
service login
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/etc/in.rlogind
instances = UNLIMITED
}
#
# 1: instances
# 2: log_on_success
#
service shell
{
socket_type = stream
wait = no
user = root
instances = UNLIMITED
server = /usr/etc/in.rshd
log_on_success += HOST RECORD
}
service ftp
{
socket_type = stream
wait = no
nice = 10
user = root
server = /usr/etc/in.ftpd
server_args = -l
instances = 4
log_on_success += DURATION HOST USERID
access_times = 2:00-9:00 12:00-24:00
}
# telnet 8
# 20 CPU
service telnet
{
socket_type = stream
wait = no
nice = 10
user = root
server = /usr/etc/in.telnetd
rlimit_as = 8M
rlimit_cpu = 20
}
#
#
#
# id
#
service echo
{
id = echo-stream
type = INTERNAL
socket_type = stream
user = root
wait = no
}
service echo
{
id = echo-dgram
type = INTERNAL
socket_type = dgram
user = root
wait = no
}
service servers
{
type = INTERNAL UNLISTED
protocol = tcp
port = 9099
socket_type = stream
wait = no
}
#
# RPC
#
service rstatd
{
type = RPC
socket_type = dgram
protocol = udp
server = /usr/etc/rpc.rstatd
wait = yes
user = root
rpc_version = 2-4
env = LD_LIBRARY_PATH=/etc/securelib
}
#
#
#
service unlisted
{
type = UNLISTED
socket_type = stream
protocol = tcp
wait = no
server = /home/user/some_server
port = 20020
}
xinetd(1L),
xinetd.log(5)
Postel J., Echo Protocol, RFC 862, May 1983
Postel J., Discard Protocol, RFC 863, May 1983
Postel J., Character Generator Protocol, RFC 864, May 1983
Postel J., Daytime Protocol, RFC 867, May 1983
Postel J., Harrenstien K., Time Protocol, RFC 868, May 1983
M. Lottor, TCP Port Service Multiplexer (TCPMUX), RFC 1078, Nov 1988
StJohns M., Identification Protocol, RFC 1413, February 1993
INTERCEPT wait yes socket_type stream
INTERCEPT wait yes socket_type dgram RPC
wait yes socket_type stream
INTERCEPT
14 June 2001 XINETD.CONF(5)