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