NAME
telnet - user interface to the TELNET protocol

SYNOPSIS
telnet [ host [ port ] ]

DESCRIPTION
Telnet is used to communicate with another host using the TELNET
protocol. If telnet is invoked without arguments, it enters
command mode, indicated by its prompt ("telnet>"). In this mode,
it accepts and executes the commands listed below. If it is
invoked with arguments, it performs an open command (see below)
with those arguments.

Once a connection has been opened, telnet enters an input mode.
The input mode entered will be either "character at a time" or
"line by line" depending on what the remote system supports.

In "character at a time" mode, most text typed is immediately sent
to the remote host for processing.

In "line by line" mode, all text is echoed locally, and (normally)
only completed lines are sent to the remote host. The "local echo
character" (initially "^E") may be used to turn off and on the
local echo (this would mostly be used to enter passwords without
the password being echoed).

In either mode, if the localchars toggle is TRUE (the default in
line mode; see below), the user’s quit, intr, and flush characters
are trapped locally, and sent as TELNET protocol sequences to the
remote side. There are options (see toggle autoflush and toggle
autosynch below) which cause this action to flush subsequent output
to the terminal (until the remote host acknowledges the TELNET
sequence) and flush previous terminal input (in the case of quit
and intr).

While connected to a remote host, telnet command mode may be
entered by typing the telnet "escape character" (initially "^]").
When in command mode, the normal terminal editing conventions are
available.

COMMANDS

The following commands are available. Only enough of each command
to uniquely identify it need be typed (this is also true for
arguments to the mode, set, toggle, and display commands).

open host [ port ]
Open a connection to the named host. If no port number is
specified, telnet will attempt to contact a TELNET server at
the default port. The host specification may be either a host
name (see hosts(5)) or an Internet address specified in the
"dot notation" (see inet(3)).

close
Close a TELNET session and return to command mode.

quit Close any open TELNET session and exit telnet. An end of file
(in command mode) will also close a session and exit.

z Suspend telnet. This command only works when the user is
using the csh(1).

mode type
Type is either line (for "line by line" mode) or character
(for "character at a time" mode). The remote host is asked
for permission to go into the requested mode. If the remote
host is capable of entering that mode, the requested mode will
be entered.

status
Show the current status of telnet. This includes the peer one
is connected to, as well as the current mode.

display [ argument... ]
Displays all, or some, of the set and toggle values (see
below).

? [ command ]
Get help. With no arguments, telnet prints a help summary.
If a command is specified, telnet will print the help
information for just that command.

send arguments
Sends one or more special character sequences to the remote
host. The following are the arguments which may be specified
(more than one argument may be specified at a time):

escape
Sends the current telnet escape character (initially
"^]").

synch
Sends the TELNET SYNCH sequence. This sequence causes
the remote system to discard all previously typed (but
not yet read) input. This sequence is sent as TCP urgent
data (and may not work if the remote system is a 4.2 BSD
system -- if it doesn’t work, a lower case "r" may be
echoed on the terminal).

brk Sends the TELNET BRK (Break) sequence, which may have
significance to the remote system.

ip Sends the TELNET IP (Interrupt Process) sequence, which
should cause the remote system to abort the currently
running process.

ao Sends the TELNET AO (Abort Output) sequence, which should
cause the remote system to flush all output from the
remote system to the user’s terminal.

ayt Sends the TELNET AYT (Are You There) sequence, to which
the remote system may or may not choose to respond.

ec Sends the TELNET EC (Erase Character) sequence, which
should cause the remote system to erase the last
character entered.

el Sends the TELNET EL (Erase Line) sequence, which should
cause the remote system to erase the line currently being
entered.

ga Sends the TELNET GA (Go Ahead) sequence, which likely has
no significance to the remote system.

nop Sends the TELNET NOP (No OPeration) sequence.

? Prints out help information for the send command.

set argument value
Set any one of a number of telnet variables to a specific
value. The special value "off" turns off the function
associated with the variable. The values of variables may be
interrogated with the display command. The variables which
may be specified are:

echo This is the value (initially "^E") which, when in "line
by line" mode, toggles between doing local echoing of
entered characters (for normal processing), and
suppressing echoing of entered characters (for entering,
say, a password).

escape
This is the telnet escape character (initially "^[")
which causes entry into telnet command mode (when
connected to a remote system).

interrupt
If telnet is in localchars mode (see toggle localchars
below) and the interrupt character is typed, a TELNET IP
sequence (see send ip above) is sent to the remote host.
The initial value for the interrupt character is taken to
be the terminal’s intr character.

quit If telnet is in localchars mode (see toggle localchars
below) and the quit character is typed, a TELNET BRK
sequence (see send brk above) is sent to the remote host.
The initial value for the quit character is taken to be
the terminal’s quit character.

flushoutput
If telnet is in localchars mode (see toggle localchars
below) and the flushoutput character is typed, a TELNET
AO sequence (see send ao above) is sent to the remote
host. The initial value for the flush character is taken
to be the terminal’s flush character.

erase
If telnet is in localchars mode (see toggle localchars
below), and if telnet is operating in "character at a
time" mode, then when this character is typed, a TELNET
EC sequence (see send ec above) is sent to the remote
system. The initial value for the erase character is
taken to be the terminal’s erase character.

kill If telnet is in localchars mode (see toggle localchars
below), and if telnet is operating in "character at a
time" mode, then when this character is typed, a TELNET
EL sequence (see send el above) is sent to the remote
system. The initial value for the kill character is
taken to be the terminal’s kill character.

eof If telnet is operating in "line by line" mode, entering
this character as the first character on a line will
cause this character to be sent to the remote system.
The initial value of the eof character is taken to be the
terminal’s eof character.

toggle arguments...
Toggle (between TRUE and FALSE) various flags that control how
telnet responds to events. More than one argument may be
specified. The state of these flags may be interrogated with
the display command. Valid arguments are:

localchars
If this is TRUE, then the flush, interrupt, quit, erase,
and kill characters (see set above) are recognized
locally, and transformed into (hopefully) appropriate
TELNET control sequences (respectively ao, ip, brk, ec,
and el; see send above). The initial value for this
toggle is TRUE in "line by line" mode, and FALSE in
"character at a time" mode.

autoflush
If autoflush and localchars are both TRUE, then when the
ao, intr, or quit characters are recognized (and
transformed into TELNET sequences; see set above for
details), telnet refuses to display any data on the
user’s terminal until the remote system acknowledges (via
a TELNET Timing Mark option) that it has processed those
TELNET sequences. The initial value for this toggle is
TRUE if the terminal user had not done an "stty noflsh",
otherwise FALSE (see stty(1)).

autosynch
If autosynch and localchars are both TRUE, then when
either the intr or quit characters is typed (see set
above for descriptions of the intr and quit characters),
the resulting TELNET sequence sent is followed by the
TELNET SYNCH sequence. This procedure should cause the
remote system to begin throwing away all previously typed
input until both of the TELNET sequences have been read
and acted upon. The initial value of this toggle is
FALSE.

crmod
Toggle carriage return mode. When this mode is enabled,
most carriage return characters received from the remote
host will be mapped into a carriage return followed by a
line feed. This mode does not affect those characters
typed by the user, only those received from the remote
host. This mode is not very useful unless the remote
host only sends carriage return, but never line feed.
The initial value for this toggle is FALSE.

debug
Toggles socket level debugging (useful only to the
superuser). The initial value for this toggle is FALSE.

options
Toggles the display of some internal telnet protocol
processing (having to do with TELNET options). The
initial value for this toggle is FALSE.

netdata
Toggles the display of all network data (in hexadecimal
format). The initial value for this toggle is FALSE.

?
Displays the legal toggle commands.

BUGS
There is no adequate way for dealing with flow control.

On some remote systems, echo has to be turned off manually when in
"line by line" mode.

There is enough settable state to justify a .telnetrc file.

No capability for a .telnetrc file is provided.

In "line by line" mode, the terminal’s eof character is only
recognized (and sent to the remote system) when it is the first
character on a line.