telnetd(ADMN) 19 June 1992 telnetd(ADMN) Name telnetd - DARPA TELNET protocol server Syntax telnetd [-debug [ port ] ] [ -h ] [ -D (options | report | exercise | netdata | ptydata) | ] Description The telnetd command is a server which supports the DARPA standard TELNET virtual terminal protocol; telnetd is invoked by the internet server [see inetd(ADMN)], normally for requests to connect to the TELNET port as indicated by the /etc/services file (see services(SFF)). The -debug option can be used to start up telnetd manually, instead of through inetd(ADMN). If started up in this manner, port may be specified to run telnetd on this alternate TCP port number. The -h option stops telnetd from printing a login banner. The -D option can be used for debugging purposes. This will allow telnet to print out debugging information to the connection, thus enabling the user to see what telnetd is doing. Several modifiers are available for the debugging mode: options prints information about the negotiation of the TELNET options, report prints the options information, as well as some additional information about what processing is going on, netdata displays the data stream received by telnetd, ptydata displays data written to the pty, and exercise has not been implemented yet. The telnetd command operates by allocating a pseudo-terminal device for a client, thereby creating a login process which has the slave side of the pseudo-terminal serving as stdin, stdout, and stderr. The telnetd com- mand will manipulate the master side of the pseudo-terminal by implement- ing the TELNET protocol and by passing characters between the remote client and the login process. When a TELNET session is started up, telnetd will send TELNET options to the client side which will indicate a willingness: ⊕ to do remote echo of characters, ⊕ to suppress go ahead, ⊕ to do remote flow control, as well as ⊕ to receive terminal type information, ⊕ to receive terminal speed information, and ⊕ to receive window size information from the remote client. If the remote client is willing, the remote terminal type will be pro- pagated to the environment of the created login process. The pseudo- terminal allocated to the client will be configured to operate in ``cooked'' mode, with TAB3 and ICRNL enabled [see termio(M)]. The telnetd command is willing to do: echo, binary, suppress go ahead, and timing mark. The telnetd command is also willing to have the remote client do: linemode, binary, terminal type, terminal speed, window size, toggleflow control, environment, Xdisplay location, and suppress go ahead. User considerations Some TELNET commands are only partially implemented. Because of bugs in the original 4.2 BSD telnet(TC), telnetd performs some dubious protocol exchanges to try to discover if the remote client is, in fact, a 4.2 BSD telnet(TC). Binary mode has no common interpretation except between similar operating systems (UNIX in this case). The terminal type name received from the remote client will be converted into lowercase. telnetd never sends TELNET go ahead commands. See also telnet(TC)