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