Initial import from FreeBSD RELENG_4:
[dragonfly.git] / crypto / telnet / telnet / telnet.1
1 .\" Copyright (c) 1983, 1990, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)telnet.1    8.6 (Berkeley) 6/1/94
33 .\" $FreeBSD: src/crypto/telnet/telnet/telnet.1,v 1.4.2.9 2002/04/13 10:59:08 markm Exp $
34 .\"
35 .Dd January 27, 2000
36 .Dt TELNET 1
37 .Os
38 .Sh NAME
39 .Nm telnet
40 .Nd user interface to the
41 .Tn TELNET
42 protocol
43 .Sh SYNOPSIS
44 .Nm
45 .Op Fl 468EFKLNacdfruxy
46 .Op Fl S Ar tos
47 .Op Fl X Ar authtype
48 .Op Fl e Ar escapechar
49 .Op Fl k Ar realm
50 .Op Fl l Ar user
51 .Op Fl n Ar tracefile
52 .Op Fl s Ar src_addr
53 .Oo
54 .Ar host
55 .Op Ar port
56 .Oc
57 .Sh DESCRIPTION
58 The
59 .Nm
60 command
61 is used to communicate with another host using the
62 .Tn TELNET
63 protocol.
64 If
65 .Nm
66 is invoked without the
67 .Ar host
68 argument, it enters command mode,
69 indicated by its prompt
70 .Pq Dq Li telnet\&> .
71 In this mode, it accepts and executes the commands listed below.
72 If it is invoked with arguments, it performs an
73 .Ic open
74 command with those arguments.
75 .Pp
76 Options:
77 .Bl -tag -width indent
78 .It Fl 4
79 Forces
80 .Nm
81 to use IPv4 addresses only.
82 .It Fl 6
83 Forces
84 .Nm
85 to use IPv6 addresses only.
86 .It Fl 8
87 Specifies an 8-bit data path.  This causes an attempt to
88 negotiate the
89 .Dv TELNET BINARY
90 option on both input and output.
91 .It Fl E
92 Stops any character from being recognized as an escape character.
93 .It Fl F
94 If Kerberos V5 authentication is being used, the
95 .Fl F
96 option allows the local credentials to be forwarded
97 to the remote system, including any credentials that
98 have already been forwarded into the local environment.
99 .It Fl K
100 Specifies no automatic login to the remote system.
101 .It Fl L
102 Specifies an 8-bit data path on output.  This causes the
103 .Dv BINARY
104 option to be negotiated on output.
105 .It Fl N
106 Prevents IP address to name lookup when destination host is given
107 as an IP address.
108 .It Fl S Ar tos
109 Sets the IP type-of-service (TOS) option for the telnet
110 connection to the value
111 .Ar tos ,
112 which can be a numeric TOS value
113 or, on systems that support it, a symbolic
114 TOS name found in the
115 .Pa /etc/iptos
116 file.
117 .It Fl X Ar atype
118 Disables the
119 .Ar atype
120 type of authentication.
121 .It Fl a
122 Attempt automatic login.
123 This is now the default, so this option is ignored.
124 Currently, this sends the user name via the
125 .Ev USER
126 variable
127 of the
128 .Ev ENVIRON
129 option if supported by the remote system.
130 The name used is that of the current user as returned by
131 .Xr getlogin 2
132 if it agrees with the current user ID,
133 otherwise it is the name associated with the user ID.
134 .It Fl c
135 Disables the reading of the user's
136 .Pa \&.telnetrc
137 file.  (See the
138 .Ic toggle skiprc
139 command on this man page.)
140 .It Fl d
141 Sets the initial value of the
142 .Ic debug
143 toggle to
144 .Dv TRUE .
145 .It Fl e Ar escapechar
146 Sets the initial
147 .Nm
148 escape character to
149 .Ar escapechar .
150 If
151 .Ar escapechar
152 is omitted, then
153 there will be no escape character.
154 .It Fl f
155 If Kerberos V5 authentication is being used, the
156 .Fl f
157 option allows the local credentials to be forwarded to the remote system.
158 .It Fl k Ar realm
159 If Kerberos authentication is being used, the
160 .Fl k
161 option requests that
162 .Nm
163 obtain tickets for the remote host in
164 realm
165 .Ar realm
166 instead of the remote host's realm, as determined by
167 .Xr krb_realmofhost 3 .
168 .It Fl l Ar user
169 When connecting to the remote system, if the remote system
170 understands the
171 .Ev ENVIRON
172 option, then
173 .Ar user
174 will be sent to the remote system as the value for the variable
175 .Ev USER .
176 This option implies the
177 .Fl a
178 option.
179 This option may also be used with the
180 .Ic open
181 command.
182 .It Fl n Ar tracefile
183 Opens
184 .Ar tracefile
185 for recording trace information.
186 See the
187 .Ic set tracefile
188 command below.
189 .It Fl r
190 Specifies a user interface similar to
191 .Xr rlogin 1 .
192 In this
193 mode, the escape character is set to the tilde (~) character,
194 unless modified by the
195 .Fl e
196 option.
197 .It Fl s Ar src_addr
198 Set the source IP address for the
199 .Nm
200 connection to
201 .Ar src_addr ,
202 which can be an IP address or a host name.
203 .It Fl u
204 Forces
205 .Nm
206 to use
207 .Dv AF_UNIX
208 addresses only (e.g.,
209 .Ux
210 domain sockets, accessed with a file path).
211 .It Fl x
212 Turns on encryption of the data stream if possible.
213 This is now the default, so this option is ignored.
214 .It Fl y
215 Suppresses encryption of the data stream.
216 .It Ar host
217 Indicates the official name, an alias, or the Internet address
218 of a remote host.
219 If
220 .Ar host
221 starts with a
222 .Ql / ,
223 .Nm
224 establishes a connection to the corresponding named socket.
225 .It Ar port
226 Indicates a port number (address of an application).  If a number is
227 not specified, the default
228 .Nm
229 port is used.
230 .El
231 .Pp
232 When in rlogin mode, a line of the form ~.  disconnects from the
233 remote host; ~ is the
234 .Nm
235 escape character.
236 Similarly, the line ~^Z suspends the
237 .Nm
238 session.
239 The line ~^] escapes to the normal
240 .Nm
241 escape prompt.
242 .Pp
243 Once a connection has been opened,
244 .Nm
245 will attempt to enable the
246 .Dv TELNET LINEMODE
247 option.
248 If this fails, then
249 .Nm
250 will revert to one of two input modes:
251 either \*(Lqcharacter at a time\*(Rq
252 or \*(Lqold line by line\*(Rq
253 depending on what the remote system supports.
254 .Pp
255 When
256 .Dv LINEMODE
257 is enabled, character processing is done on the
258 local system, under the control of the remote system.  When input
259 editing or character echoing is to be disabled, the remote system
260 will relay that information.  The remote system will also relay
261 changes to any special characters that happen on the remote
262 system, so that they can take effect on the local system.
263 .Pp
264 In \*(Lqcharacter at a time\*(Rq mode, most
265 text typed is immediately sent to the remote host for processing.
266 .Pp
267 In \*(Lqold line by line\*(Rq mode, all text is echoed locally,
268 and (normally) only completed lines are sent to the remote host.
269 The \*(Lqlocal echo character\*(Rq (initially \*(Lq^E\*(Rq) may be used
270 to turn off and on the local echo
271 (this would mostly be used to enter passwords
272 without the password being echoed).
273 .Pp
274 If the
275 .Dv LINEMODE
276 option is enabled, or if the
277 .Ic localchars
278 toggle is
279 .Dv TRUE
280 (the default for \*(Lqold line by line\*(Rq; see below),
281 the user's
282 .Ic quit  ,
283 .Ic intr ,
284 and
285 .Ic flush
286 characters are trapped locally, and sent as
287 .Tn TELNET
288 protocol sequences to the remote side.
289 If
290 .Dv LINEMODE
291 has ever been enabled, then the user's
292 .Ic susp
293 and
294 .Ic eof
295 are also sent as
296 .Tn TELNET
297 protocol sequences,
298 and
299 .Ic quit
300 is sent as a
301 .Dv TELNET ABORT
302 instead of
303 .Dv BREAK .
304 There are options (see
305 .Ic toggle
306 .Ic autoflush
307 and
308 .Ic toggle
309 .Ic autosynch
310 below)
311 which cause this action to flush subsequent output to the terminal
312 (until the remote host acknowledges the
313 .Tn TELNET
314 sequence) and flush previous terminal input
315 (in the case of
316 .Ic quit
317 and
318 .Ic intr  ) .
319 .Pp
320 While connected to a remote host,
321 .Nm
322 command mode may be entered by typing the
323 .Nm
324 \*(Lqescape character\*(Rq (initially \*(Lq^]\*(Rq).
325 When in command mode, the normal terminal editing conventions are available.
326 .Pp
327 The following
328 .Nm
329 commands are available.
330 Only enough of each command to uniquely identify it need be typed
331 (this is also true for arguments to the
332 .Ic mode  ,
333 .Ic set ,
334 .Ic toggle  ,
335 .Ic unset ,
336 .Ic slc  ,
337 .Ic environ ,
338 and
339 .Ic display
340 commands).
341 .Pp
342 .Bl -tag -width "mode type"
343 .It Ic auth Ar argument ...
344 The auth command manipulates the information sent through the
345 .Dv TELNET AUTHENTICATE
346 option.  Valid arguments for the
347 .Ic auth
348 command are:
349 .Bl -tag -width "disable type"
350 .It Ic disable Ar type
351 Disables the specified type of authentication.  To
352 obtain a list of available types, use the
353 .Ic auth disable ?\&
354 command.
355 .It Ic enable Ar type
356 Enables the specified type of authentication.  To
357 obtain a list of available types, use the
358 .Ic auth enable ?\&
359 command.
360 .It Ic status
361 Lists the current status of the various types of
362 authentication.
363 .El
364 .It Ic close
365 Close a
366 .Tn TELNET
367 session and return to command mode.
368 .It Ic display Ar argument ...
369 Displays all, or some, of the
370 .Ic set
371 and
372 .Ic toggle
373 values (see below).
374 .It Ic encrypt Ar argument ...
375 The encrypt command manipulates the information sent through the
376 .Dv TELNET ENCRYPT
377 option.
378 .Pp
379 Valid arguments for the
380 .Ic encrypt
381 command are:
382 .Bl -tag -width Ar
383 .It Ic disable Ar type Xo
384 .Op Cm input | output
385 .Xc
386 Disables the specified type of encryption.  If you
387 omit the input and output, both input and output
388 are disabled.  To obtain a list of available
389 types, use the
390 .Ic encrypt disable ?\&
391 command.
392 .It Ic enable Ar type Xo
393 .Op Cm input | output
394 .Xc
395 Enables the specified type of encryption.  If you
396 omit input and output, both input and output are
397 enabled.  To obtain a list of available types, use the
398 .Ic encrypt enable ?\&
399 command.
400 .It Ic input
401 This is the same as the
402 .Ic encrypt start input
403 command.
404 .It Ic -input
405 This is the same as the
406 .Ic encrypt stop input
407 command.
408 .It Ic output
409 This is the same as the
410 .Ic encrypt start output
411 command.
412 .It Ic -output
413 This is the same as the
414 .Ic encrypt stop output
415 command.
416 .It Ic start Op Cm input | output
417 Attempts to start encryption.  If you omit
418 .Ic input
419 and
420 .Ic output ,
421 both input and output are enabled.  To
422 obtain a list of available types, use the
423 .Ic encrypt enable ?\&
424 command.
425 .It Ic status
426 Lists the current status of encryption.
427 .It Ic stop Op Cm input | output
428 Stops encryption.  If you omit input and output,
429 encryption is on both input and output.
430 .It Ic type Ar type
431 Sets the default type of encryption to be used
432 with later
433 .Ic encrypt start
434 or
435 .Ic encrypt stop
436 commands.
437 .El
438 .It Ic environ Ar arguments ...
439 The
440 .Ic environ
441 command is used to manipulate the
442 variables that may be sent through the
443 .Dv TELNET ENVIRON
444 option.
445 The initial set of variables is taken from the users
446 environment, with only the
447 .Ev DISPLAY
448 and
449 .Ev PRINTER
450 variables being exported by default.
451 The
452 .Ev USER
453 variable is also exported if the
454 .Fl a
455 or
456 .Fl l
457 options are used.
458 .Pp
459 Valid arguments for the
460 .Ic environ
461 command are:
462 .Bl -tag -width Fl
463 .It Ic define Ar variable value
464 Define the variable
465 .Ar variable
466 to have a value of
467 .Ar value .
468 Any variables defined by this command are automatically exported.
469 The
470 .Ar value
471 may be enclosed in single or double quotes so
472 that tabs and spaces may be included.
473 .It Ic undefine Ar variable
474 Remove
475 .Ar variable
476 from the list of environment variables.
477 .It Ic export Ar variable
478 Mark the variable
479 .Ar variable
480 to be exported to the remote side.
481 .It Ic unexport Ar variable
482 Mark the variable
483 .Ar variable
484 to not be exported unless
485 explicitly asked for by the remote side.
486 .It Ic list
487 List the current set of environment variables.
488 Those marked with a
489 .Cm *
490 will be sent automatically,
491 other variables will only be sent if explicitly requested.
492 .It Ic ?\&
493 Prints out help information for the
494 .Ic environ
495 command.
496 .El
497 .It Ic logout
498 Sends the
499 .Dv TELNET LOGOUT
500 option to the remote side.
501 This command is similar to a
502 .Ic close
503 command; however, if the remote side does not support the
504 .Dv LOGOUT
505 option, nothing happens.
506 If, however, the remote side does support the
507 .Dv LOGOUT
508 option, this command should cause the remote side to close the
509 .Tn TELNET
510 connection.
511 If the remote side also supports the concept of
512 suspending a user's session for later reattachment,
513 the logout argument indicates that you
514 should terminate the session immediately.
515 .It Ic mode Ar type
516 .Ar Type
517 is one of several options, depending on the state of the
518 .Tn TELNET
519 session.
520 The remote host is asked for permission to go into the requested mode.
521 If the remote host is capable of entering that mode, the requested
522 mode will be entered.
523 .Bl -tag -width Ar
524 .It Ic character
525 Disable the
526 .Dv TELNET LINEMODE
527 option, or, if the remote side does not understand the
528 .Dv LINEMODE
529 option, then enter \*(Lqcharacter at a time\*(Rq mode.
530 .It Ic line
531 Enable the
532 .Dv TELNET LINEMODE
533 option, or, if the remote side does not understand the
534 .Dv LINEMODE
535 option, then attempt to enter \*(Lqold-line-by-line\*(Rq mode.
536 .It Ic isig Pq Ic \-isig
537 Attempt to enable (disable) the
538 .Dv TRAPSIG
539 mode of the
540 .Dv LINEMODE
541 option.
542 This requires that the
543 .Dv LINEMODE
544 option be enabled.
545 .It Ic edit Pq Ic \-edit
546 Attempt to enable (disable) the
547 .Dv EDIT
548 mode of the
549 .Dv LINEMODE
550 option.
551 This requires that the
552 .Dv LINEMODE
553 option be enabled.
554 .It Ic softtabs Pq Ic \-softtabs
555 Attempt to enable (disable) the
556 .Dv SOFT_TAB
557 mode of the
558 .Dv LINEMODE
559 option.
560 This requires that the
561 .Dv LINEMODE
562 option be enabled.
563 .It Ic litecho Pq Ic \-litecho
564 Attempt to enable (disable) the
565 .Dv LIT_ECHO
566 mode of the
567 .Dv LINEMODE
568 option.
569 This requires that the
570 .Dv LINEMODE
571 option be enabled.
572 .It Ic ?\&
573 Prints out help information for the
574 .Ic mode
575 command.
576 .El
577 .It Xo
578 .Ic open Ar host
579 .Op Fl l Ar user
580 .Op Oo Fl Oc Ns Ar port
581 .Xc
582 Open a connection to the named host.
583 If no port number
584 is specified,
585 .Nm
586 will attempt to contact a
587 .Tn TELNET
588 server at the default port.
589 The host specification may be either a host name (see
590 .Xr hosts  5  ) ,
591 an Internet address specified in the \*(Lqdot notation\*(Rq (see
592 .Xr inet 3 ) ,
593 or IPv6 host name or IPv6 coloned-hexadecimal addreess.
594 The
595 .Fl l
596 option may be used to specify the user name
597 to be passed to the remote system via the
598 .Ev ENVIRON
599 option.
600 When connecting to a non-standard port,
601 .Nm
602 omits any automatic initiation of
603 .Tn TELNET
604 options.  When the port number is preceded by a minus sign,
605 the initial option negotiation is done.
606 After establishing a connection, the file
607 .Pa \&.telnetrc
608 in the
609 users home directory is opened.  Lines beginning with a # are
610 comment lines.  Blank lines are ignored.  Lines that begin
611 without white space are the start of a machine entry.  The
612 first thing on the line is the name of the machine that is
613 being connected to.  The rest of the line, and successive
614 lines that begin with white space are assumed to be
615 .Nm
616 commands and are processed as if they had been typed
617 in manually to the
618 .Nm
619 command prompt.
620 .It Ic quit
621 Close any open
622 .Tn TELNET
623 session and exit
624 .Nm .
625 An end of file (in command mode) will also close a session and exit.
626 .It Ic send Ar arguments
627 Sends one or more special character sequences to the remote host.
628 The following are the arguments which may be specified
629 (more than one argument may be specified at a time):
630 .Pp
631 .Bl -tag -width escape
632 .It Ic abort
633 Sends the
634 .Dv TELNET ABORT
635 (Abort
636 processes)
637 sequence.
638 .It Ic ao
639 Sends the
640 .Dv TELNET AO
641 (Abort Output) sequence, which should cause the remote system to flush
642 all output
643 .Em from
644 the remote system
645 .Em to
646 the user's terminal.
647 .It Ic ayt
648 Sends the
649 .Dv TELNET AYT
650 (Are You There)
651 sequence, to which the remote system may or may not choose to respond.
652 .It Ic brk
653 Sends the
654 .Dv TELNET BRK
655 (Break) sequence, which may have significance to the remote
656 system.
657 .It Ic ec
658 Sends the
659 .Dv TELNET EC
660 (Erase Character)
661 sequence, which should cause the remote system to erase the last character
662 entered.
663 .It Ic el
664 Sends the
665 .Dv TELNET EL
666 (Erase Line)
667 sequence, which should cause the remote system to erase the line currently
668 being entered.
669 .It Ic eof
670 Sends the
671 .Dv TELNET EOF
672 (End Of File)
673 sequence.
674 .It Ic eor
675 Sends the
676 .Dv TELNET EOR
677 (End of Record)
678 sequence.
679 .It Ic escape
680 Sends the current
681 .Nm
682 escape character (initially \*(Lq^\*(Rq).
683 .It Ic ga
684 Sends the
685 .Dv TELNET GA
686 (Go Ahead)
687 sequence, which likely has no significance to the remote system.
688 .It Ic getstatus
689 If the remote side supports the
690 .Dv TELNET STATUS
691 command,
692 .Ic getstatus
693 will send the subnegotiation to request that the server send
694 its current option status.
695 .It Ic ip
696 Sends the
697 .Dv TELNET IP
698 (Interrupt Process) sequence, which should cause the remote
699 system to abort the currently running process.
700 .It Ic nop
701 Sends the
702 .Dv TELNET NOP
703 (No OPeration)
704 sequence.
705 .It Ic susp
706 Sends the
707 .Dv TELNET SUSP
708 (SUSPend process)
709 sequence.
710 .It Ic synch
711 Sends the
712 .Dv TELNET SYNCH
713 sequence.
714 This sequence causes the remote system to discard all previously typed
715 (but not yet read) input.
716 This sequence is sent as
717 .Tn TCP
718 urgent
719 data (and may not work if the remote system is a
720 .Bx 4.2
721 system -- if
722 it doesn't work, a lower case \*(Lqr\*(Rq may be echoed on the terminal).
723 .It Ic do Ar cmd
724 .It Ic dont Ar cmd
725 .It Ic will Ar cmd
726 .It Ic wont Ar cmd
727 Sends the
728 .Dv TELNET DO
729 .Ar cmd
730 sequence.
731 .Ar Cmd
732 can be either a decimal number between 0 and 255,
733 or a symbolic name for a specific
734 .Dv TELNET
735 command.
736 .Ar Cmd
737 can also be either
738 .Ic help
739 or
740 .Ic ?\&
741 to print out help information, including
742 a list of known symbolic names.
743 .It Ic ?\&
744 Prints out help information for the
745 .Ic send
746 command.
747 .El
748 .It Ic set Ar argument value
749 .It Ic unset Ar argument value
750 The
751 .Ic set
752 command will set any one of a number of
753 .Nm
754 variables to a specific value or to
755 .Dv TRUE .
756 The special value
757 .Ic off
758 turns off the function associated with
759 the variable, this is equivalent to using the
760 .Ic unset
761 command.
762 The
763 .Ic unset
764 command will disable or set to
765 .Dv FALSE
766 any of the specified functions.
767 The values of variables may be interrogated with the
768 .Ic display
769 command.
770 The variables which may be set or unset, but not toggled, are
771 listed here.  In addition, any of the variables for the
772 .Ic toggle
773 command may be explicitly set or unset using
774 the
775 .Ic set
776 and
777 .Ic unset
778 commands.
779 .Bl -tag -width escape
780 .It Ic ayt
781 If
782 .Tn TELNET
783 is in localchars mode, or
784 .Dv LINEMODE
785 is enabled, and the status character is typed, a
786 .Dv TELNET AYT
787 sequence (see
788 .Ic send ayt
789 preceding) is sent to the
790 remote host.  The initial value for the \*(LqAre You There\*(Rq
791 character is the terminal's status character.
792 .It Ic echo
793 This is the value (initially \*(Lq^E\*(Rq) which, when in
794 \*(Lqline by line\*(Rq mode, toggles between doing local echoing
795 of entered characters (for normal processing), and suppressing
796 echoing of entered characters (for entering, say, a password).
797 .It Ic eof
798 If
799 .Nm
800 is operating in
801 .Dv LINEMODE
802 or \*(Lqold line by line\*(Rq mode, entering this character
803 as the first character on a line will cause this character to be
804 sent to the remote system.
805 The initial value of the eof character is taken to be the terminal's
806 .Ic eof
807 character.
808 .It Ic erase
809 If
810 .Nm
811 is in
812 .Ic localchars
813 mode (see
814 .Ic toggle
815 .Ic localchars
816 below),
817 .Sy and
818 if
819 .Nm
820 is operating in \*(Lqcharacter at a time\*(Rq mode, then when this
821 character is typed, a
822 .Dv TELNET EC
823 sequence (see
824 .Ic send
825 .Ic ec
826 above)
827 is sent to the remote system.
828 The initial value for the erase character is taken to be
829 the terminal's
830 .Ic erase
831 character.
832 .It Ic escape
833 This is the
834 .Nm
835 escape character (initially \*(Lq^[\*(Rq) which causes entry
836 into
837 .Nm
838 command mode (when connected to a remote system).
839 .It Ic flushoutput
840 If
841 .Nm
842 is in
843 .Ic localchars
844 mode (see
845 .Ic toggle
846 .Ic localchars
847 below)
848 and the
849 .Ic flushoutput
850 character is typed, a
851 .Dv TELNET AO
852 sequence (see
853 .Ic send
854 .Ic ao
855 above)
856 is sent to the remote host.
857 The initial value for the flush character is taken to be
858 the terminal's
859 .Ic flush
860 character.
861 .It Ic forw1
862 .It Ic forw2
863 If
864 .Nm
865 is operating in
866 .Dv LINEMODE ,
867 these are the
868 characters that, when typed, cause partial lines to be
869 forwarded to the remote system.  The initial value for
870 the forwarding characters are taken from the terminal's
871 eol and eol2 characters.
872 .It Ic interrupt
873 If
874 .Nm
875 is in
876 .Ic localchars
877 mode (see
878 .Ic toggle
879 .Ic localchars
880 below)
881 and the
882 .Ic interrupt
883 character is typed, a
884 .Dv TELNET IP
885 sequence (see
886 .Ic send
887 .Ic ip
888 above)
889 is sent to the remote host.
890 The initial value for the interrupt character is taken to be
891 the terminal's
892 .Ic intr
893 character.
894 .It Ic kill
895 If
896 .Nm
897 is in
898 .Ic localchars
899 mode (see
900 .Ic toggle
901 .Ic localchars
902 below),
903 .Ic and
904 if
905 .Nm
906 is operating in \*(Lqcharacter at a time\*(Rq mode, then when this
907 character is typed, a
908 .Dv TELNET EL
909 sequence (see
910 .Ic send
911 .Ic el
912 above)
913 is sent to the remote system.
914 The initial value for the kill character is taken to be
915 the terminal's
916 .Ic kill
917 character.
918 .It Ic lnext
919 If
920 .Nm
921 is operating in
922 .Dv LINEMODE
923 or \*(Lqold line by line\*(Rq mode, then this character is taken to
924 be the terminal's
925 .Ic lnext
926 character.
927 The initial value for the lnext character is taken to be
928 the terminal's
929 .Ic lnext
930 character.
931 .It Ic quit
932 If
933 .Nm
934 is in
935 .Ic localchars
936 mode (see
937 .Ic toggle
938 .Ic localchars
939 below)
940 and the
941 .Ic quit
942 character is typed, a
943 .Dv TELNET BRK
944 sequence (see
945 .Ic send
946 .Ic brk
947 above)
948 is sent to the remote host.
949 The initial value for the quit character is taken to be
950 the terminal's
951 .Ic quit
952 character.
953 .It Ic reprint
954 If
955 .Nm
956 is operating in
957 .Dv LINEMODE
958 or \*(Lqold line by line\*(Rq mode, then this character is taken to
959 be the terminal's
960 .Ic reprint
961 character.
962 The initial value for the reprint character is taken to be
963 the terminal's
964 .Ic reprint
965 character.
966 .It Ic rlogin
967 This is the rlogin escape character.
968 If set, the normal
969 .Nm
970 escape character is ignored unless it is
971 preceded by this character at the beginning of a line.
972 This character, at the beginning of a line followed by
973 a "."  closes the connection; when followed by a ^Z it
974 suspends the
975 .Nm
976 command.  The initial state is to
977 disable the
978 .Nm rlogin
979 escape character.
980 .It Ic start
981 If the
982 .Dv TELNET TOGGLE-FLOW-CONTROL
983 option has been enabled,
984 then this character is taken to
985 be the terminal's
986 .Ic start
987 character.
988 The initial value for the start character is taken to be
989 the terminal's
990 .Ic start
991 character.
992 .It Ic stop
993 If the
994 .Dv TELNET TOGGLE-FLOW-CONTROL
995 option has been enabled,
996 then this character is taken to
997 be the terminal's
998 .Ic stop
999 character.
1000 The initial value for the stop character is taken to be
1001 the terminal's
1002 .Ic stop
1003 character.
1004 .It Ic susp
1005 If
1006 .Nm
1007 is in
1008 .Ic localchars
1009 mode, or
1010 .Dv LINEMODE
1011 is enabled, and the
1012 .Ic suspend
1013 character is typed, a
1014 .Dv TELNET SUSP
1015 sequence (see
1016 .Ic send
1017 .Ic susp
1018 above)
1019 is sent to the remote host.
1020 The initial value for the suspend character is taken to be
1021 the terminal's
1022 .Ic suspend
1023 character.
1024 .It Ic tracefile
1025 This is the file to which the output, caused by
1026 .Ic netdata
1027 or
1028 .Ic option
1029 tracing being
1030 .Dv TRUE ,
1031 will be written.  If it is set to
1032 .Dq Fl ,
1033 then tracing information will be written to standard output (the default).
1034 .It Ic worderase
1035 If
1036 .Nm
1037 is operating in
1038 .Dv LINEMODE
1039 or \*(Lqold line by line\*(Rq mode, then this character is taken to
1040 be the terminal's
1041 .Ic worderase
1042 character.
1043 The initial value for the worderase character is taken to be
1044 the terminal's
1045 .Ic worderase
1046 character.
1047 .It Ic ?\&
1048 Displays the legal
1049 .Ic set
1050 .Pq Ic unset
1051 commands.
1052 .El
1053 .It Ic opie Ar sequence challenge
1054 The
1055 .Ic opie
1056 command computes a response to the OPIE challenge.
1057 .It Ic slc Ar state
1058 The
1059 .Ic slc
1060 command (Set Local Characters) is used to set
1061 or change the state of the special
1062 characters when the
1063 .Dv TELNET LINEMODE
1064 option has
1065 been enabled.  Special characters are characters that get
1066 mapped to
1067 .Tn TELNET
1068 commands sequences (like
1069 .Ic ip
1070 or
1071 .Ic quit  )
1072 or line editing characters (like
1073 .Ic erase
1074 and
1075 .Ic kill  ) .
1076 By default, the local special characters are exported.
1077 .Bl -tag -width Fl
1078 .It Ic check
1079 Verify the current settings for the current special characters.
1080 The remote side is requested to send all the current special
1081 character settings, and if there are any discrepancies with
1082 the local side, the local side will switch to the remote value.
1083 .It Ic export
1084 Switch to the local defaults for the special characters.  The
1085 local default characters are those of the local terminal at
1086 the time when
1087 .Nm
1088 was started.
1089 .It Ic import
1090 Switch to the remote defaults for the special characters.
1091 The remote default characters are those of the remote system
1092 at the time when the
1093 .Tn TELNET
1094 connection was established.
1095 .It Ic ?\&
1096 Prints out help information for the
1097 .Ic slc
1098 command.
1099 .El
1100 .It Ic status
1101 Show the current status of
1102 .Nm .
1103 This includes the peer one is connected to, as well
1104 as the current mode.
1105 .It Ic toggle Ar arguments ...
1106 Toggle (between
1107 .Dv TRUE
1108 and
1109 .Dv FALSE )
1110 various flags that control how
1111 .Nm
1112 responds to events.
1113 These flags may be set explicitly to
1114 .Dv TRUE
1115 or
1116 .Dv FALSE
1117 using the
1118 .Ic set
1119 and
1120 .Ic unset
1121 commands listed above.
1122 More than one argument may be specified.
1123 The state of these flags may be interrogated with the
1124 .Ic display
1125 command.
1126 Valid arguments are:
1127 .Bl -tag -width Ar
1128 .It Ic authdebug
1129 Turns on debugging information for the authentication code.
1130 .It Ic autoflush
1131 If
1132 .Ic autoflush
1133 and
1134 .Ic localchars
1135 are both
1136 .Dv TRUE ,
1137 then when the
1138 .Ic ao  ,
1139 or
1140 .Ic quit
1141 characters are recognized (and transformed into
1142 .Tn TELNET
1143 sequences; see
1144 .Ic set
1145 above for details),
1146 .Nm
1147 refuses to display any data on the user's terminal
1148 until the remote system acknowledges (via a
1149 .Dv TELNET TIMING MARK
1150 option)
1151 that it has processed those
1152 .Tn TELNET
1153 sequences.
1154 The initial value for this toggle is
1155 .Dv TRUE
1156 if the terminal user had not
1157 done an "stty noflsh", otherwise
1158 .Dv FALSE
1159 (see
1160 .Xr stty  1  ) .
1161 .It Ic autodecrypt
1162 When the
1163 .Dv TELNET ENCRYPT
1164 option is negotiated, by
1165 default the actual encryption (decryption) of the data
1166 stream does not start automatically.  The autoencrypt
1167 (autodecrypt) command states that encryption of the
1168 output (input) stream should be enabled as soon as
1169 possible.
1170 .It Ic autologin
1171 If the remote side supports the
1172 .Dv TELNET AUTHENTICATION
1173 option
1174 .Nm
1175 attempts to use it to perform automatic authentication.  If the
1176 .Dv AUTHENTICATION
1177 option is not supported, the user's login
1178 name are propagated through the
1179 .Dv TELNET ENVIRON
1180 option.
1181 This command is the same as specifying
1182 .Fl a
1183 option on the
1184 .Ic open
1185 command.
1186 .It Ic autosynch
1187 If
1188 .Ic autosynch
1189 and
1190 .Ic localchars
1191 are both
1192 .Dv TRUE ,
1193 then when either the
1194 .Ic intr
1195 or
1196 .Ic quit
1197 characters is typed (see
1198 .Ic set
1199 above for descriptions of the
1200 .Ic intr
1201 and
1202 .Ic quit
1203 characters), the resulting
1204 .Tn TELNET
1205 sequence sent is followed by the
1206 .Dv TELNET SYNCH
1207 sequence.
1208 This procedure
1209 .Ic should
1210 cause the remote system to begin throwing away all previously
1211 typed input until both of the
1212 .Tn TELNET
1213 sequences have been read and acted upon.
1214 The initial value of this toggle is
1215 .Dv FALSE .
1216 .It Ic binary
1217 Enable or disable the
1218 .Dv TELNET BINARY
1219 option on both input and output.
1220 .It Ic inbinary
1221 Enable or disable the
1222 .Dv TELNET BINARY
1223 option on input.
1224 .It Ic outbinary
1225 Enable or disable the
1226 .Dv TELNET BINARY
1227 option on output.
1228 .It Ic crlf
1229 If this is
1230 .Dv TRUE ,
1231 then carriage returns will be sent as
1232 .Li <CR><LF> .
1233 If this is
1234 .Dv FALSE ,
1235 then carriage returns will be send as
1236 .Li <CR><NUL> .
1237 The initial value for this toggle is
1238 .Dv FALSE .
1239 .It Ic crmod
1240 Toggle carriage return mode.
1241 When this mode is enabled, most carriage return characters received from
1242 the remote host will be mapped into a carriage return followed by
1243 a line feed.
1244 This mode does not affect those characters typed by the user, only
1245 those received from the remote host.
1246 This mode is not very useful unless the remote host
1247 only sends carriage return, but never line feed.
1248 The initial value for this toggle is
1249 .Dv FALSE .
1250 .It Ic debug
1251 Toggles socket level debugging (useful only to the
1252 .Ic super user  ) .
1253 The initial value for this toggle is
1254 .Dv FALSE .
1255 .It Ic encdebug
1256 Turns on debugging information for the encryption code.
1257 .It Ic localchars
1258 If this is
1259 .Dv TRUE ,
1260 then the
1261 .Ic flush  ,
1262 .Ic interrupt ,
1263 .Ic quit  ,
1264 .Ic erase ,
1265 and
1266 .Ic kill
1267 characters (see
1268 .Ic set
1269 above) are recognized locally, and transformed into (hopefully) appropriate
1270 .Tn TELNET
1271 control sequences
1272 (respectively
1273 .Ic ao  ,
1274 .Ic ip ,
1275 .Ic brk  ,
1276 .Ic ec ,
1277 and
1278 .Ic el  ;
1279 see
1280 .Ic send
1281 above).
1282 The initial value for this toggle is
1283 .Dv TRUE
1284 in \*(Lqold line by line\*(Rq mode,
1285 and
1286 .Dv FALSE
1287 in \*(Lqcharacter at a time\*(Rq mode.
1288 When the
1289 .Dv LINEMODE
1290 option is enabled, the value of
1291 .Ic localchars
1292 is ignored, and assumed to always be
1293 .Dv TRUE .
1294 If
1295 .Dv LINEMODE
1296 has ever been enabled, then
1297 .Ic quit
1298 is sent as
1299 .Ic abort  ,
1300 and
1301 .Ic eof
1302 and
1303 .Ic suspend
1304 are sent as
1305 .Ic eof
1306 and
1307 .Ic susp
1308 (see
1309 .Ic send
1310 above).
1311 .It Ic netdata
1312 Toggles the display of all network data (in hexadecimal format).
1313 The initial value for this toggle is
1314 .Dv FALSE .
1315 .It Ic options
1316 Toggles the display of some internal
1317 .Nm
1318 protocol processing (having to do with
1319 .Tn TELNET
1320 options).
1321 The initial value for this toggle is
1322 .Dv FALSE .
1323 .It Ic prettydump
1324 When the
1325 .Ic netdata
1326 toggle is enabled, if
1327 .Ic prettydump
1328 is enabled the output from the
1329 .Ic netdata
1330 command will be formatted in a more user readable format.
1331 Spaces are put between each character in the output, and the
1332 beginning of any
1333 .Nm
1334 escape sequence is preceded by a '*' to aid in locating them.
1335 .It Ic skiprc
1336 When the skiprc toggle is
1337 .Dv TRUE ,
1338 .Nm
1339 skips the reading of the
1340 .Pa \&.telnetrc
1341 file in the users home
1342 directory when connections are opened.  The initial
1343 value for this toggle is
1344 .Dv FALSE .
1345 .It Ic termdata
1346 Toggles the display of all terminal data (in hexadecimal format).
1347 The initial value for this toggle is
1348 .Dv FALSE .
1349 .It Ic verbose_encrypt
1350 When the
1351 .Ic verbose_encrypt
1352 toggle is
1353 .Dv TRUE ,
1354 .Nm
1355 prints out a message each time encryption is enabled or
1356 disabled.  The initial value for this toggle is
1357 .Dv FALSE .
1358 .It Ic ?\&
1359 Displays the legal
1360 .Ic toggle
1361 commands.
1362 .El
1363 .It Ic z
1364 Suspend
1365 .Nm .
1366 This command only works when the user is using the
1367 .Xr csh  1  .
1368 .It Ic \&! Op Ar command
1369 Execute a single command in a subshell on the local
1370 system.  If
1371 .Ar command
1372 is omitted, then an interactive
1373 subshell is invoked.
1374 .It Ic ?\& Op Ar command
1375 Get help.  With no arguments,
1376 .Nm
1377 prints a help summary.
1378 If
1379 .Ar command
1380 is specified,
1381 .Nm
1382 will print the help information for just that command.
1383 .El
1384 .Sh ENVIRONMENT
1385 .Nm
1386 uses at least the
1387 .Ev HOME ,
1388 .Ev SHELL ,
1389 .Ev DISPLAY ,
1390 and
1391 .Ev TERM
1392 environment variables.
1393 Other environment variables may be propagated
1394 to the other side via the
1395 .Dv TELNET ENVIRON
1396 option.
1397 .Sh SEE ALSO
1398 .Xr rlogin 1 ,
1399 .Xr rsh 1 ,
1400 .Xr hosts 5 ,
1401 .Xr nologin 5 ,
1402 .Xr telnetd 8
1403 .Sh FILES
1404 .Bl -tag -width ~/.telnetrc -compact
1405 .It Pa ~/.telnetrc
1406 user customized telnet startup values
1407 .El
1408 .Sh HISTORY
1409 The
1410 .Nm
1411 command appeared in
1412 .Bx 4.2 .
1413 .Pp
1414 IPv6 support was added by WIDE/KAME project.
1415 .Sh NOTES
1416 On some remote systems, echo has to be turned off manually when in
1417 \*(Lqold line by line\*(Rq mode.
1418 .Pp
1419 In \*(Lqold line by line\*(Rq mode or
1420 .Dv LINEMODE
1421 the terminal's
1422 .Ic eof
1423 character is only recognized (and sent to the remote system)
1424 when it is the first character on a line.