telnetd - The DARPA telnet protocol server
telnetd [-debug | debug6 [port]] [-D modifier...]
Starts telnetd manually, rather than through inetd, on alternate TCP
port number port (if specified). It either creates an IPv4 socket
(-debug) or IPv6 socket (-debug6).
-D modifier ...
Prints out debugging information. Valid values for modifier are:
options Prints information about negotiation of telnet options.
report Prints the same information as options, along with additional
netdata Displays the data stream received by telnetd.
ptydata Displays data written to the pty.
Not yet implemented.
The telnetd daemon is a server that supports the DARPA (Defense Advanced
Research Projects Agency) standard telnet virtual terminal protocol. The
telnetd daemon is invoked by the Internet server (see inetd(8)) normally
for requests to connect to the telnet port as indicated by the
/etc/services file (see services(4)). Either the -debug option (for IPv4
sockets) or -debug6 option (for IPv6 sockets) may be used, to start up tel-
netd manually. If the daemon is started up this way, port may be specified
to run telnetd on an alternate TCP port number.
The -D options argument may be used for debugging purposes. This allows
telnetd to print out debugging information to the connection, allowing the
user to see what telnetd is doing.
The telnetd daemon operates by allocating a pseudoterminal device (see
pty(7)) for a client, then creating a login process that has the slave side
of the pseudoterminal as stdin, stdout, and stderr. The telnetd daemon
manipulates the master side of the pseudo-terminal, implementing the telnet
protocol and passing characters between the remote client and the login
When a telnet session is started up, telnetd sends telnet options to the
client side, indicating a willingness to do remote echo of characters, to
suppress go ahead, to do remote flow control, and to receive terminal type
information, terminal speed information, and window size information from
the remote client. If the remote client is willing, the remote terminal
type is propagated in the environment of the created login process. The
pseudoterminal allocated to the client is configured to operate in cooked
mode, and with XTABS and CRMOD enabled (see tty(7)).
The telnetd daemon is willing to do: echo, binary, suppress go ahead, and
timing mark. The telnetd daemon is willing to have the remote client do:
line mode, binary, terminal type, terminal speed, window size, toggle flow
control, environment, X display location, and suppress go ahead.
The telnetd daemon never sends telnet go ahead commands.
Note that binary mode has no common interpretation except between similar
operating systems (Unix-compatible systems in this case).
Note also that the terminal type name received from the remote client is
converted to lowercase.
The telnet command uses the default Type-of-Service value recommended by
RFC1060, which is as follows:
You can configure this value by specifying it in the /etc/iptos file. For
more information, see iptos(4).
By default, the telnetd daemon starts the login dialog using the login
string specified in the message field of the /etc/gettydefs file. If you
want to use a customized banner, create an /etc/issue.net or /etc/issue
file. The telnetd daemon reads the file that exists and writes its contents
over a new telnet connection prior to starting the login dialog. If both
files exist, only the /etc/issue.net file is used.
Some telnet commands are only partially implemented.
Because of bugs in the original 4.2BSD telnet command, telnetd performs
some dubious protocol exchanges to try to discover if the remote client is,
in fact, a 4.2BSD telnet.
Specifies the command path.
Specifies the path name for the network issue identification file.
Specifies the path name for the issue identification file.
Files: iptos(4), issue(4), issue.net(4)