TELNET(1) | General Commands Manual | TELNET(1) |
telnet
— TELNET
プロトコルのユーザーインターフェース
telnet
[-8ELadr
]
[-S
tos]
[-e
escapechar]
[-l
user]
[-n
tracefile]
[host [port]]
telnet
コマンドは TELNET
プロトコルを用いて他のホストと相互通信をするために使われる。
このプログラムは、("telnet>
")
というプロンプトを表示して、
コマンドモードで開始される。
引き数 host
を付けて telnet
が起動されると、
open
コマンドが暗黙のうちに実行される。
以下の説明を参照すること。
オプション:
-8
TELNET BINARY
オプションを用いるようにネゴシエーションを行う。
デフォルトの telnet は 8
ビットクリーンではない。-E
-L
TELNET
BINARY
オプション使用のネゴシエーションを行う。-a
ENVIRON
オプションの
USER
変数をサポートしている場合、この変数がログイン名として送信される。
ユーザ名は getlogin(3)
を使って取得される。-d
debug
の初期値を TRUE
に設定する。-r
telnet
をリモートホストから切断する。
エスケープ文字の後に
^Z を続けると telnet
を中断する。 ^]
(デフォルトの
telnet
エスケープ文字)
を送ると通常の telnet
プロンプトが表示される。
これらのコードは行頭にある場合にのみ受け付けられる。-S
tos-e
escapechar-l
userUSER
として送信することで実現されるので、
リモートシステムが
TELNET ENVIRON
オプションをサポートしている必要がある。
このオプションは、暗黙のうちに
-a
オプションが使われ、
open
コマンドとともに使われる。-n
tracefileset tracefile
コマンドを参照すること。telnet
ポート (23)
が使われる。プロトコル:
接続がオープンされると、
telnet
は TELNET
LINEMODE
オプションを有効にしようとする。
これが失敗した場合、
telnet
は 2
つの入力モード “character
at a time” と “old line by line”
のうちどちらかを選択する。
これはリモートシステムがどちらをサポートしているかに依存する。
LINEMODE
が有効になっている場合、文字処理はリモートシステムの制御下におかれた
ローカルシステムで実行される。
入力の編集や文字のエコーが無効にされた場合、
リモートシステムはその情報を中継する。
リモートシステムは生成された特殊文字も中継する。
これにより、ローカルシステムにも効果が及ぶ。
“character at a time” モードでは、 入力されたテキストの大部分は、処理のためにリモートシステムへすぐに送信される。
“old line by line” モードでは、 すべてのテキストはローカルでエコーされる。 そして、(通常は) 完全な行のみがリモートホストに送信される。 “local echo character” (初期設定では “^E”) は ローカルエコーのオン・オフを切替えるために使われる (これはパスワードをエコーせずに入力する場合によく用いられる)。
LINEMODE
オプションが有効になっている場合、または
localchars
の切替えが
TRUE
の場合
(これは “old line by line“
のデフォルトである。以下を参照)、
ユーザーの quit
,
intr
, flush
文字はローカルでトラップされ、
TELNET
プロトコルシーケンスとしてリモート側に送信される。
LINEMODE
が有効になっている場合、
ユーザーの susp
と eof
も TELNET
プロトコルシーケンスとして送信される。
そして、 quit
は
BREAK
ではなく
TELNET ABORT
として送信される。
オプションとしては、
(リモートホストが TELNET
シーケンスを認識するまで)
端末へのサブシーケンス出力をフラッシュするもの
(以下の toggle
autoflush
と toggle
autosynch
を参照) や、
(quit
と intr
の場合に)
それまでの端末への入力をフラッシュするものがある。
コマンド:
以下の telnet
コマンドが使用可能である。
他と区別がつく範囲で、後ろの方を省略することもできる。
auth
argument ...auth
は TELNET AUTHENTICATE
プロトコルオプションを制御する。
telnet
が認証なしでコンパイルされた場合、
auth
コマンドは使えない。
このコマンドに使える引き数は以下の通りである。
disable
typeauth disable ?
コマンドを使うこと。enable
typeauth enable ?
コマンドを使うこと。status
現在のバージョンの
telnet
は認証をサポートしていない点に注意すること。
close
display
argument ...set
や toggle
で設定された値
(以下を参照)
の全て、または一部を表示する。encrypt
argument ...TELNET
ENCRYPT
プロトコルオプションを制御する。
telnet
が暗号化なしでコンパイルされた場合、
encrypt
コマンドはサポートされない。
このコマンドに指定可能な引き数は以下の通りである。
disable
type [input|output]
enable
type [input|output]
input
-input
output
-output
start
[input|output]
status
stop
[input|output]
type
type現在のバージョンの
telnet
は、暗号化をサポートしていない点に注意すること。
environ
arguments...environ
コマンドは TELNET
ENVIRON
プロトコルオプションを用いて
telnet
リンクを通して環境変数を渡すために使われる。
シェルからエクスポートされる全ての変数が定義されるが、
デフォルトでは環境変数
DISPLAY
と PRINTER
のみが送信するために選ばれる。
コマンドラインオプション
-a
または
-l
が使われた場合、
環境変数 USER
が送信するために選ばれる。
environ
コマンドに指定可能な引き数は以下の通りである。
define
variable valueundefine
variableexport
variableunexport
variablelist
*
でマークされた環境変数はリモートホストに渡される。
リモートホストは他の環境変数について明示的に問い合わせることもある。?
environ
コマンドについてのヘルプ情報を表示する。logout
TELNET
LOGOUT
プロトコルオプションをリモートホストに送る。
このコマンドは
close
コマンドに似ている。
リモートホストが
LOGOUT
オプションをサポートしていない場合は、何も起こらない。
サポートしている場合、このコマンドにより接続を閉じる。
リモート側が再接続のためのユーザーセッションのサスペンドも
サポートしている場合、logout
コマンドはセッションを即時終了することを意味する。mode
typecharacter
TELNET
LINEMODE
オプションを無効にする。
また、リモート側が
LINEMODE
オプションを解釈できない場合は、
“character at a time“
モードに入る。line
TELNET
LINEMODE
オプションを有効にする。
また、リモート側が
LINEMODE
オプションを解釈できない場合は、
“old-line-by-line“
モードに入ろうとする。isig
(-isig
)LINEMODE
オプションの
TRAPSIG
モードを有効 (無効)
にしようとする。
LINEMODE
オプションが有効になっている必要がある。edit
(-edit
)LINEMODE
オプションの
EDIT
モードを有効 (無効)
にしようとする。
LINEMODE
オプションが有効になっている必要がある。softtabs
(-softtabs
)LINEMODE
オプションの
SOFT_TAB
モードを有効 (無効)
にしようとする。
LINEMODE
オプションが有効になっている必要がある。litecho
(-litecho
)LINEMODE
オプションの
LIT_ECHO
モードを有効 (無効)
にしようとする。
LINEMODE
オプションが有効になっている必要がある。?
mode
コマンドのヘルプ情報を表示する。open
host [[-l
]
user][-
port]telnet
は telnet
デーモンと標準ポート
(23)
で接続しようとする。
ホストの指定はホスト名でも
IP
アドレスでもよい。
-l
オプションは、コマンドラインでの
-l
オプションと同様に、
リモートシステムに渡されるユーザー名を指定するために使われる。
telnet
ポート以外のポートと接続する場合、
telnet
は telnet
プロトコルによるネゴシエーションを試みない。
これにより telnet
プロトコルをサポートしていないサービスと
失敗することなく接続することができる。
ポート番号の前にダッシュを置くことにより、
プロトコルネゴシエーションを強制的に行わせることができる。
接続が確立した後、ユーザーの .telnetrc ファイルの中でリモートホストと関連づけられている 全てのコマンドが実行される。
.telnetrc
ファイルのフォーマットは次のようになっている。
#
で始まる行と空行は無視される。
ファイルのそれ以外の部分には、ホスト名とそのホストに対して使われる
telnet
コマンドのシーケンスが含まれる。
コマンドは 1 行に 1
つで、空白でインデントされていなければならない
(訳注:
行頭には空白が必要)。
空白で始まっていない行はホスト名として解釈される。
名前がファイル中で指定されているホストに接続すると、
そのホストに関連付けられたコマンドが実行される。
quit
telnet
を終了する。
コマンドモードで end of
file
条件を入力した場合も、
これと同じ動作が行われる。send
argumentsabort
TELNET
ABORT
(Abort Processes)
シーケンスを送る。ao
TELNET
AO
(Abort Output)
シーケンスを送る。
リモートシステムに対して、
リモートシステム
から
ユーザー端末
への
出力をフラッシュさせる。ayt
TELNET
AYT
(Are You There?)
シーケンスを送る。
リモートシステムはそれに応答するかしないかを選択できる。brk
TELNET
BRK
(Break)
シーケンスを送る。
リモートシステムにとって重要な意味を持つ場合もある。ec
TELNET
EC
(Erase Character)
シーケンスを送る。
最後に入力された文字をリモートシステムに消去させる。el
TELNET
EL
(Erase Line)
シーケンスを送る。
現在入力中の行をリモートシステムに消去させる。eof
TELNET
EOF
(End Of File)
シーケンスを送る。eor
TELNET
EOR
(End of Record)
シーケンスを送る。escape
telnet
エスケープ文字を送る。ga
TELNET
GA
(Go Ahead)
シーケンスを送る。
リモートホストにとってたぶん意味がない。getstatus
TELNET STATUS
コマンドをサポートしている場合、
getstatus
はサーバに現在のオプションの状態を送るように要求する。ip
TELNET
IP
(Interrupt Process)
シーケンスを送る。
現在実行しているプロセスをリモートホストに中止させる。nop
TELNET
NOP
(No Operation)
シーケンスを送る。susp
TELNET
SUSP
(Suspend Process)
シーケンスを送る。synch
TELNET
SYNCH
シーケンスを送る。
このシーケンスは、それまでに打ち込まれた入力
(ただし、まだ読まれていないもの)
をリモートシステムに破棄させる。
このシーケンスは TCP
緊急データとして送られる
(リモートシステムが
4.2BSD
の場合は動作しないかもしれない
--
動作しない場合は小文字
“r”
が端末にエコーされる)。do
cmddont
cmdwill
cmdwont
cmdTELNET
DO
cmd
シーケンスを送る。
コマンド cmd
は、0 から 255 までの 10
進数、
または特定の
TELNET
コマンドの対するシンボル名である。
コマンド cmd
には、既知のシンボル名を含むヘルプ情報を表示するための
help
または
?
を指定することもできる。?
send
コマンドのヘルプ情報を表示する。set
argument valueunset
argument valueset
コマンドは telnet
変数のうちの 1
つを特定の値、または
TRUE
に設定する。
特別な値 off
は変数に関連付けられた機能を無効にする。
これは unset
コマンドを使った場合と同じである。
unset
コマンドは指定された変数を無効、または
FALSE
に設定する。
変数の値は display
コマンドによって調べることができる。
TRUE と FALSE
の切替えでなく、値が
set や unset
される変数を以下に列挙する。
また、 toggle
コマンドによって値が切替えられる変数は、
明示的に set や unset
を使って設定してもよい。
ayt
LINEMODE
が有効になっている場合に、ステータス文字が入力されると、
TELNET AYT
シーケンスがリモートホストに送られる。
"Are You There"
文字の初期値は、端末のステータス文字である。echo
eof
telnet
が
LINEMODE
や “old line by
line”
モードで動作している場合、
行頭の文字としてこの文字を入力すると、
この文字がリモートシステムに送られる。
eof
文字の初期値としては、端末の
eof
文字が使われる。erase
telnet
が
localchars
モード
(以下の toggle
localchars
を参照)
であり、 かつ
“character at a time”
モードで動作している場合、
この文字が入力されると、
TELNET EC
シーケンス (上記の
send
ec
を参照)
がリモートシステムに送られる。
erase
文字の初期値としては、端末の
erase
文字が使われる。escape
telnet
コマンドラインモードに入るための
telnet
エスケープ文字である
(初期値は “^[”
である)。flushoutput
telnet
が
localchars
モード
(以下の toggle
localchars
を参照)
の場合に flushoutput
文字が入力されると、
TELNET AO
シーケンス (上記の
send
ao
を参照)
がリモートホストに送られる。
flushoutput
文字の初期値としては、端末の
flush
文字が使われる。forw1
forw2
telnet
が
LINEMODE
モードで動作している場合に、この
2
文字が入力されると、
行の一部 (この 2
文字の間の部分)
がリモートシステムに送られる。
この 2
つのフォワード文字の初期値としては、
端末の eol と eol2
が使われる。interrupt
telnet
が
localchars
モード
(以下の toggle
localchars
を参照)
の場合に interrupt
文字が入力されると
TELNET IP
シーケンス (上記の
send
ip
を参照)
がリモートホストに送られる。
interrupt
文字の初期値としては、端末の
intr
文字が使われる。kill
telnet
が
localchars
モード
(以下の toggle
localchars
を参照)
であり、
かつ
“character at a
time”
モードで動作している場合に、
この文字が入力されると、
TELNET EL
シーケンス (上記の
send
el
を参照)
がリモートシステムに送られる。
kill
文字の初期値としては、端末の
kill
文字が使われる。lnext
telnet
が
LINEMODE
または “old
line by line“
モードで動作している場合、
この文字が端末の
lnext
文字として使われる。
lnext
文字の初期値としては、端末の
lnext
文字が使われる。quit
telnet
が
localchars
モード
(以下の toggle
localchars
を参照)
の場合に quit
文字が入力されると、
TELNET BRK
シーケンス (上記の
send
brk
を参照)
がリモートホストに送られる。
quit
文字の初期値としては、端末の
quit
文字が使われる。reprint
telnet
が
LINEMODE
または “old
line by line“
モードで動作している場合、
この文字が端末の
reprint
文字として使われる。
reprint
文字の初期値としては、端末の
reprint
文字が使われる。rlogin
-r
と同様に rlogin
モードが有効になる
(件の部分も参照のこと)。start
TELNET
TOGGLE-FLOW-CONTROL
オプションが有効になっている場合、
この文字が端末の
start
文字が使われる。 start
文字の初期値としては、端末の
start
文字が使われる。stop
TELNET
TOGGLE-FLOW-CONTROL
オプションが有効になっている場合、
この文字が端末の
stop
文字として使われる。
stop
文字の初期値としては、端末の
stop
文字が使われる。susp
telnet
が
localchars
モードの場合、または
LINEMODE
が有効になっている場合に、
suspend
文字が入力されると、
TELNET SUSP
シーケンス (上記の
send
susp
を参照)
がリモートホストに送られる。
suspend
文字の初期値としては、端末の
suspend
文字が使われる。tracefile
netdata
が TRUE
の場合、または
option
によるトレースが
TRUE
の場合、このファイルに出力が書き出される。
この値が
“-
”
に設定された場合、トレース情報は標準出力に書き出される
(これがデフォルトである)。worderase
telnet
が
LINEMODE
または “old
line by line“
モードで動作している場合、
この文字は端末の
worderase
文字として使われる。
worderase
文字の初期値としては、端末の
worderase
文字が使われる。?
set
(unset
)
で指定可能なコマンドを表示する。slc
stateslc
(Set Local Characters) コマンドは、
TELNET LINEMODE
オプションが有効な場合に、特殊文字の状態を設定・変更するために使われる。
特殊文字は、
(ip
や quit
といった) TELNET
コマンドシーケンスや
(erase
や kill
といった)
行編集文字にマップされる文字である。
デフォルトでは、ローカルの特殊文字がエクスポートされる。
status
telnet
の現在の状態を表示する。
この表示には現在のモードだけではなく、
もし可能ならば、リモートホストの名前も含まれる。toggle
arguments ...telnet
のイベントしての応答を制御するフラグを
(TRUE
と FALSE
の間で) 切替える。
これらのフラグは、
set
と unset
コマンドを用いて、
TRUE
または
FALSE
に明示的に設定してもよい。
1 つ以上のフラグを 1
度に切替えてもよい。
フラグの状態は
display
コマンドで調べることができる。
指定可能なフラグは以下の通りである。
authdebug
autoflush
autoflush
と localchars
がともに TRUE
で、 ao
文字または quit
文字が認識された場合
(さらにこれらの文字が
TELNET
シーケンスに変換された場合。詳細は
set
を参照)、 TELNET
シーケンスが処理されたことが
(TELNET TIMING MARK
オプションによって)
リモートシステムに認識されるまで、
telnet
はユーザーの端末にデータを何も表示しないようにする。
端末上のユーザーが
"stty noflsh"
を実行していない場合、
この切替えの初期値は
TRUE
である。
実行していた場合は
FALSE
である
(stty(1)
を参照すること)。autodecrypt
TELNET
ENCRYPT
がネゴシエートされているとき、デフォルトではデータストリームの
実際の暗号化
(復号化)
は自動的には始まらない。
autoencrypt (autodecrypt)
コマンドは、 出力
(入力)
ストリームの暗号化ができるだけ早く有効になるように命令する。
このフラグは暗号化のサポートが有効である場合にのみ存在する。
autologin
TELNET AUTHENTICATION
オプションをサポートしている場合、
telnet
は自動認証を行うために、そのオプションを使う。
TELNET AUTHENTICATION
オプションがサポートされていない場合、
ユーザーのログイン名は
TELNET ENVIRON
オプションを使って渡される。
このフラグを設定するのは、コマンドライン上で
open
コマンドに
a
オプションを指定するのと同じである。autosynch
autosynch
と localchars
がともに TRUE
の場合に、 intr
文字または quit
文字 (intr
文字と quit
文字の説明は上記の
set
を参照すること)
が入力されると、
結果として送られる
telnet
シーケンスの後には
TELNET SYNCH
シーケンスが続く。
両方の telnet
シーケンスのが読み込まれて作用するまでには、
この手続きにより、
リモートホストに対してそれまでの全ての入力を捨て始めるように
させるべきである
。
このトグルの初期値は
FALSE
である。binary
TELNET BINARY
オプションを有効・無効にする。inbinary
TELNET BINARY
オプションを有効・無効にする。outbinary
TELNET BINARY
オプションを有効・無効にする。crlf
TRUE
の場合、キャリッジリターンは
<CR><LF>
として送られる。
これが FALSE
の場合、キャリッジリターンは
<CR><NUL>
として送られる。
このトグルの初期値は
FALSE
である。crmod
FALSE
である。debug
スーパーユーザー
のみ使える)。
このトグルの初期値は
FALSE
である。encdebug
localchars
TRUE
の場合、 flush
,
interrupt
, quit
,
erase
, kill
文字 (上記の set
を参照)
はローカルで認識され、(うまくいけば)
適切な TELNET
コントロールシーケンス
(それぞれ ao
,
ip
, brk
,
ec
, el
;
上記の send
を参照)
に変換される。 “old
line by line”
モードでの初期値は
TRUE
である。
“character at a time”
モードでの初期値は
FALSE
である。
LINEMODE
オプションが有効になっている場合、
localchars
の値は無視され、常に
TRUE
であると仮定される。
LINEMODE
が有効になったことがある場合、
quit
は abort
として送られ、
eof and
は eof
and
susp
として送られる。
(上記の send
を参照)。netdata
FALSE
である。options
telnet
プロトコル処理の表示・非表示を切替える。
このトグルの初期値は
FALSE
である。prettydump
netdata
が有効になっている場合に、
prettydump
が有効になっていると、
netdata
コマンドからの出力はユーザーにとって一層読みやすい形式にフォーマットされる。
出力される文字の間に空白が入れられ、
telnet
エスケープシーケンスの前には、探しやすいように
'*' が置かれる。skiprc
TRUE
の場合、 telnet は
.telnetrc
ファイルを読まない。
このトグルの初期値は
FALSE
である。termdata
FALSE
である。verbose_encrypt
verbose_encrypt
が TRUE
の場合、
TELNET
は暗号化が有効か無効かのメッセージを毎回表示する。
このトグルの初期値は
FALSE
である。
このフラグは暗号化がサポートされている場合にのみ存在する。?
toggle
コマンドに指定可能な引き数を表示する。z
telnet
をサスペンドする。
このコマンドはユーザーが
csh(1)
を使っている場合にのみ動作する。!
[command]command
が省略されると、サブシェルが対話モードで起動される。?
[command]telnet
はヘルプの一覧を表示する。
コマンドが指定された場合、
telnet
はそのコマンドのヘルプ情報を表示する。telnet
は少なくとも環境変数
HOME
, SHELL
,
DISPLAY
, TERM
を使う。
他の環境変数は
TELNET ENVIRON
オプションを使ってリモート側に送られる。
telnet
コマンドは 4.2BSD
で登場した。
“old line by line” モードの場合、 エコーを手動でオフにしなければならないリモートシステムもある。
“old line by line” モードや
LINEMODE
では、端末の eof
は、それが行頭の文字である場合にのみ認識される
(さらにリモートシステムに送られる)。
ソースコードが分かりやすくない。
この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考にさせていただいた。
August 15, 1999 | Linux NetKit (0.17) |