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