telnet.1
上传用户:sddyfurun
上传日期:2007-01-04
资源大小:525k
文件大小:32k
源码类别:

代理服务器

开发平台:

Unix_Linux

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