Scroll to navigation

TELNET(1) General Commands Manual TELNET(1)

NAME

telnet TELNET 프로토콜을 이용한 사용자 인터페이스

사용법

telnet [-d] [-a] [-n 추적파일] [-e escape문자] [[-l 사용자ID] 호스트 [포트]]

설명

telnet 명령은 TELNET 프로토콜을 이용해서 다른 호스트에 접속하고, 그 호스트를 사용하는데 사용된다. 만약, telnet 명령을 실행할 때, 호스트 인자를 지정하지 않으면, (telnet>) 이라는 프롬프트가 나타나고, 이때부터, telnet 명령을 사용할 수 있는 상태가 된다. 이 모드에서는 다음에서 설명할 명령들을 입력하고, 그것을 실행한다. 한편, 호스트 인자가 사용되면, 그 호스트를 대상으로 open 명령이 실행된다.

옵션:

초기값을 TRUE 값으로 지정한다.
자동 접속 시도. 일반적으로, 이 옵션은 리모트 시스템에 의해서 지원되는 ENVIRON 옵션의 USER 변수를 통해 사용자ID를 보낸다. 여기서 사용되는 사용자ID는 getlogin(2) 함수에서 리틴되는 값이다. 이것은 -l 옵션의 인자로 지정한 사용자ID 이거나, 이 옵션을 사용하지 않는다면, 현재 사용자 ID이다.
추적파일
추적 정보를 사용하는 추적파일 인자로 지정한 파일을 연다. 아래, set tracefile 명령 참조.
사용자ID
리모트 시스템에 접속을 할 때, 리모트 시스템에서 ENVIRON 옵션을 사용한다면, username 프롬프트에 입력할 사용자ID를 USER 환경변수값으로 사용한다. 이 옵션은 -a 옵션을 포함한다. 또한, open 명령에서도 그대로 사용할 수 있다.
escape문자
telnet 프롬프트로 빠져나오는 문자를 escape문자 로 지정한다. 만약 escape문자 값을 지정하지 않고 단지 -e 옵션만 사용되면, `escape off'로 된다.
호스트
접속할 호스트. 인터넷 주소형식으로 사용된다.
포트
접속에 이용할 호스트의 포트. 지정되지 않으면, telnet 에서 사용되는 초기값이 사용된다.(23번 포트인가?)

리모트 호스트와 연결이 되면, telnet 풀그림은 TELNET LINEMODE 옵션을 사용가능 상태로 하려고 시도할 것이다. 만약 이것이 실패하면, telnet 풀그림은 다음 두 입력 모드 중 하나를 선택한다: 하나는 “character at a time” 이고 다른 하나는 “old line by line” 인데, 이것은 리모트 시스템이 어느 것을 지원하느냐에 달려있다.

LINEMODE 옵션이 가능상태가 되면, 문자처리는 리모트 시스템의 관리(control)아래, 로칼 시스템에서 처리된다. 입력 편집하기, 또는 문자 반향하기(echoing) 기능이 사용불가 생되로 되어 있을 때, 리모트 시스템은 그 정보를 로칼 시스템에 relay(전달?) 할 것이다. 또한 리모트 시스템은 리모트 시스템에서 발생한 어떤 특별한 문자로 바뀐 것을 전달한다. 그래서, 그 바뀐 내용들이 로칼 시스템에 영향을 끼치도록 한다.

“character at a time” 모드에서는, 사용자가 글쇠판에서 친 내용들 대부분이 즉시 그 처리를 위해 즉시 리모트 시스템으로 보내진다.

“old line by line” 모드에서는, 모든 텍스트가 지역적으로 반향(echo)된다. 그리고 (보통) 완벽한 한 줄만이 리모트 시스템에 보내진다. 이 모드에서는 “로칼 에코 문자” (초기값: “^E”)로 로칼 에코 기능을 사용하거나 사용하지 않을 수 있다. (대부분, 비밀번호를 입력할 때, 그것을 반향하지 않도록 하기 위해서 사용된다.)

LINEMODE 옵션이 사용가능 상태가 되거나, localchars 토클이 TRUE 값을 가지면 (“old line by line“의 초기값; 아래 참조), 사용자의 quit, intr, flush 문자가 지역적으로 trap(가로채기) 되어지고, TELNET 프로토콜 처리로 리모트 시스템에 보내진다. LINEMODE 옵션이 사용 불가 상태이면, 사용자의 susp (보류-suspend) eof (파일 끝) 신호가 TELNET 프로토콜 처리로 리모트 시스템에 보내질 수 있으며, quit 신호는 BREAK 대신에 TELNET ABORT 로 보내진다. 이 모드와 관계되는 옵션은 toggle autoflushtoggle autosynch 옵션이 있다(아래 참조).

리모트 호스트에 연결 되어 있을 때는, telnet “escape 문자” (초기값: “^]”)를 사용해서 telnet 프롬프트 상태로 진입할 수 있다 - 이때를 명령 모드라 한다. 명령 모드일 때는, 일반 터미날 편집 방식이 사용가능 상태가 된다.

명령 모드에서 사용할 수 있는 telnet 명령은 다음과 같다. 대부분 그 명령만으로 사용이 가능하며, mode, set, toggle, unset, slc, environ, display 명령들은 그 명령에 대한 인자를 지정해야 한다.

TELNET 세션을 끝내고, 명령 모드로 돌아온다.
인자 ...
toggle 값들(아래 참조)을 전부 또는 일부 보여준다.
형태
형태 인자로 쓰일 수 있는 것은 다음 중 하나이며, 이것은 TELNET 세션의 상태에 따라 달라 질 수 있다. 이 명령은 지정한 모드를 사용할 수 있도록 리모트 호스트에 요청하며, 그것이 리모트 호스트에서 받아들여지면, 그 지정한 모드가 사용된다.
옵션을 사용불가 상태로 지정한다. 또는 리모트 쪽에서 LINEMODE 옵션을 지원하지 않으면, “character at a time” 모드로 지정된다.
옵션을 사용가능 상태로 지정한다. 리모트 쪽에서 LINEMODE 옵션을 지원하지 않으면, “old-line-by-line” 모드로 지정된다.
(-isig)
옵션의 TRAPSIG 모드를 사용가능 (사용불가) 상태로 지정한다. 이것은 LINEMODE 옵션이 먼저 사용가능 상태여야 지정할 수 있다.
(-edit)
옵션의 EDIT 모드를 사용가능 (사용불가) 상태로 지정한다. 이것은 LINEMODE 옵션이 먼저 사용가능 상태여야 지정할 수 있다.
(-softtabs)
옵션의 SOFT_TAB 모드를 사용가능 (사용불가) 상태로 지정한다. 이것은 LINEMODE 옵션이 먼저 사용가능 상태여야 지정할 수 있다.
(-litecho)
옵션의 LIT_ECHO 모드를 사용가능 (사용불가) 상태로 지정한다. 이것은 LINEMODE 옵션이 먼저 사용가능 상태여야 지정할 수 있다.
명령 사용법을 보여준다.
호스트 [[-l] 사용자ID][- 포트]
지정한 호스트 로 접속한다. 포트 를 지정하지 않으면, 초기값으로 지정된 TELNET 서버 포트를 사용한다. 호스트 인자로 사용할 수 있는 값은 호스트 이름 ( hosts(5) 참조 ) 이거나, “점(.)으로 구분된” 인터넷 주소 ( inet(3) 참조 ) 가 지정될 수 있다. 리모트 호스트에서 ENVIRON 옵션을 사용할 수 있다면, [-l] 옵션을 사용해서, username(login) 프롬프트를 통과 할 수 있다. 표준 포트가 아닌 포트로 접속을 할 경우에는, telnet 풀그림은 TELNET 옵션의 자동 초기화를 생략한다. 포트 번호 앞에 빼기(`-') 문자가 오면, 그 옵션의 자동 초기를 실행한다. 리모트 호스트에 접속이 되면, 홈 디렉토리에 있는 .telnetrc 파일이 읽혀 진다. 이 파일에서는 `#' 문자로 시작하는 줄과 빈 줄은 무시되고, machine 부분(호스트지정 부분)은 줄 첫칸에 공백문자가 없어야한다. machine 부분에는 연결할 호스트의 이름을 적어 둔다. (`default'는 모든 호스트) 나머지 줄에는 그 호스트를 대상으로 한 telnet 명령이 지정되는데, 이것은 줄 첫칸에 공백문자가 있어야 한다. telnet 명령은 보통 telnet 명령 모드에서 사용자가 직접 입력한 그 내용을 그대로 적어주면 된다.
리모트 호스트와의 접속을 끊고, telnet 풀그림을 마친다. (명령 모드에서) 파일 끝 문자(일반 적으로 `^D')도 그 세션을 끊고, 풀그림을 마친다.
인자
하나 또는 그 이상의 특수 문자를 리모트 호스트에 보낸다. 다음은 이 명령에서 사용될 수 있는 인자들이다. (또한 여러 인자들이 한번에 같이 사용될 수 있다.)
문자 보냄. (프로세스 중지)
(Abort Output) 문자 보냄, 이것은 리모트 시스템에서 발생하는 모든 출력을 사용자의 터미날로 보내는(flush) 일을 한다.
(Are You There) 문자 보냄, 이것은 리모트 시스템에서 받아드려 질 수도 있고, 아닐 수도 있다.
(Break) 문자 보냄, 이것은 리모트 시스템에서 의미가 있을 수도 있다.
(Erase Character) 문자 보냄, 이것은 리모트 시스템에 마지막으로 입력된 문자를 지우는 역할을 한다.
(Erase Line) 문자 보냄, 이것은 리모트 시스템에 현재 입력되어 있는 줄 전체를 지우는 역할을 한다.
(End Of File) 문자 보냄.
(End of Record) 문자 보냄.
현재 telnet escape 문자 (초기값: “^”) 보냄.
(Go Ahead) 문자 보냄, 이것은 리모트 시스템에 의미가 없을 수도 있다.
리모트 쪽에서 TELNET STATUS 명령을 지원한다면, getstatus 문자를 보내면, 그 리모트 서버에서 현재 옵션 상태를 로칼 쪽으로 보낸다.
(Interrupt Process) 문자를 보냄, 현재 리모트 시스템에서 실행 중인 프로세스를 중지한다.
(No OPeration, 무연산) 문자 보냄.
(SUSPend process) 문자 보냄.
문자 보냄. 이 처리는 리모트 시스템이 이미 이전에 입력된 (하지만 아직 읽혀지지 않은) 모든 내용을 취소하도록 한다. 이것은 TCP urgent data 로 처리된다(만약, 리모트 시스템이 4.2BSD 시스템일 경우에는 바르게 동작하지 않을 수도 있다 -- 이때, 제대로 동작하지 않는다면, 터미날에 소문자 “r” 문자가 보여진다).
명령에 대한 도움말을 보여준다.
인자 인자값
 
인자 인자값
명령은 telnet 변수들의 값을 특정 값으로 지정하거나, 아니면, TRUE 값을 가지게 지정한다. off 라는 특별 변수값은 그 변수와 연결되는 기능을 사용하지 못하게 한다. 이것은 unset 명령을 사용하는 효과와 같다. unset 명령은 변수를 사용하지 못하게 하거나, 그 값을 FALSE 로 지정하는 역할을 한다. any of the specified functions. 변수에 지정된 값은 display 명령으로 살펴볼 수 있다. 다음 변수들은 set, unset 명령으로만 그 값을 지정하거나, 사용하지 않게 할 수 있으며, 아래, toggle 명령에서 설명하고 있는 변수들은 set, unset 명령으로도 처리가 가능하다. (set, unset 명령은 변수 값을 특정 값으로 지정하거나, 아니면, 그 변수 자체를 사용하지 않으려고 할 때, 사용되지만, toggle 명령은 이미 있는 변수의 값을 ``on/off''하는 기능을 한다.)
“line by line” 모드에서 로칼 호스트의 사용자 입력을 에코 하는 것과 그렇지 않게 하는 것을 전환하는 글쇠. 초기값은 “^E”.
텔넷 세션이 LINEMODE 옵션으로 운영되거나, “old line by line” 모드 상태에서, 입력 줄의 처칸에 이 글쇠를 입력하면, 리모트 시스템에 ``파일끝'' 문자를 보낸다. 초기값은 현재 사용하고 있는 터미날의 eof 문자를 그대로 사용한다.(일반적으로 ^D)
telnet 풀그림이 localchars 모드 (아래 toggle localchars 참조) 상태이고, telnet 풀그림이 “character at a time” 모드로 운영될 때, 이 글쇠를 누르면, TELNET EC 처리 (윗 send ec 참조)를 리모트 시스템에 보낸다. 초기값은 현재 터미날의 erase 문자와 같다. (일반적으로 ^H 문자나, 백스페이스, Delete 글쇠)
리모트 호스트와의 연결 중에, 이 글쇠를 누르면, telnet 명령 모드로 진입한다. 초기값은 “^[”.
telnet 풀그림이 localchars 모드 (아래 toggle localchars 참조) 상태일 때, flushoutput 문자를 입력하면, TELNET AO 처리 (윗 send ao 참조) 가 리모트 시스템에 보내진다. 초기값은 현재 터미날의 flush 문자와 같다.
telnet 풀그림이 localchars 모드 (아래 toggle localchars 참조) 상태일 때, interrupt 문자를 입력하면, TELNET IP 처리 (윗 send ip 참조) 가 리모트 시스템에 보내진다. 초기값은 현재 터미날의 intr 문자와 같다.
telnet 풀그림이 localchars 모드 (아래 toggle localchars 참조) 상태이고, “character at a time” 모드로 운영될 때, 이 글쇠를 누르면, TELNET EL 처리 (윗 send el 참조) 가 리모트 시스템에 보내진다. 초기값은 현재 터미날의 kill 문자와 같다.
telnet 풀그림이 LINEMODE 옵션 상태로 운영되거나, “old line by line“ 모드 일 때, 이 문자가 입력되면, 리모트 시스템에 lnext 문자를 보낸다. 초기값은 현재 터미날의 lnext 문자와 같다.
telnet 풀그림이 localchars 모드 (아래 toggle localchars 참조) 일 때, quit 문자가 입력되면, TELNET BRK 처리 (윗 send brk 참조) 가 리모트 시스템으로 보내진다. 초기값은 현재 터미날의 quit 문자와 같다.
옵션이나, “old line by line“ 모드 상태 일 때, 이 문자가 입력되면, 리모트 시스템의 reprint 문자(화면 정리 문자)를 보낸다. 초기값은 현재 터미날의 reprint 문자와 같다.
옵션이 사용가능 상태일 때, 이 문자를 입력하면, 리모트 시스템의 start 문자를 보낸다. 초기값은 현재 터미날의 start 문자(일반적으로 ``^Q'')와 같다.
옵션이 사용가능 상태일 때, 이 문자를 입력하면, 리모트 시스템의 stop 문자를 보낸다. 초기값은 현재 터미날의 stop 문자(일반적으로 ``^S'')와 같다.
telnet 풀그림이 localchars 모드 (아래 toggle localchars 참조) 이거나, LINEMODE 옵션이 사용 가능 상태일 때, suspend 문자로 보낼 문자. 초기값은 현재 터미날의 suspend 문자와 같다.
또는 option 추적 기능이 TRUE 일 때, 그 추적 내용이 이 파일에 쓰여진다. 이 값을 “-” 이렇게 지정하면, 추적 정보는 표준 출력(초기값)으로 보내진다.
옵션으로 운영되거나, “old line by line“ 모드일 때, 이 문자가 입력되면, 리모트 시스템의 worderase 문자로 처리된다. 초기값은 현재 터미날의 worderase 문자와 같다.
(unset) 명령의 도움말을 보여준다.
state
(Set Local Characters) 명령은 TELNET LINEMODE 옵션이 사용가능 상태일 때, 특수 문자들을 지정하거나 바꾸는데 사용된다. 여기서 특수 문자란 TELNET 명령어들 ( ip quit 같은 것)을 처리하는 문자나, 줄 편집 문자들 ( erase 또는 kill 같은 것)을 뜻한다. 이들 문자들의 초기값은 현재 사용하고 있는 터미날의 특수문자들을 그대로 사용한다.
로칼 터미날의 특수 문자들을 현재 telnet 에서 사용하고 있는 특수 문자들로 다시 지정한다.
TELNET 에서 사용하고 있는 특수 문자들을 현재 리모트 시스템에서 사용하고 있는 특수 문자들로 다시 지정한다.
현재 사용하고 있는 특수 문자들의 지정을 검사한다. 먼저, 리모트 쪽의 모든 특수 문자들을 로칼 쪽으로 보내고, 그 중에 일치 하지 않는 것이 있다면, 로칼 쪽 특수 문자들을 리모트쪽 특수 문자로 바꿀 것이다.
명령에 대한 도움말을 보여준다.
인자...
명령은 TELNET ENVIRON 옵션에서 사용하는 각종 변수들을 관리하는데 사용된다. 각 변수들의 초기값은 그 사용자의 환경 변수들 값이 사용되며, DISPLAYPRINTER 변수 값은 현재 터미날의 변수값이 사용된다. USER 변수값은 -a 또는 -l 옵션이 사용되었을 때, 리모트 호스트쪽으로 보내진다.
environ 명려에서 사용할 수 있는 인자들은 다음과 같다:
변수 변수값
변수변수값 으로 지정한다. 이렇게 지정된 변수는 자동으로 리모트 호스트쪽에 지정된다. 변수값 지정에 있어, 공백문자가 있으면, 따움표로 묶어준다.
변수
지정한 변수 를 환경 변수 목록에서 지운다.
변수
리모트 쪽에 자동으로 보낼 변수 들을 표시한다.
변수
리모트 쪽에서 요구할 경우에 보낼 변수 로 바꾼다. (environ list 명령에서 ``*'' 표시가 있는 변수에서 그 표시를 없애는 기능을 한다.)
현재 환경 변수들의 목록을 보여준다. * 표시가 있는 것은 자동으로 보내지는 것들이며, 나머지는 필요에 따라 보내지는 변수들이다.
명령 도움말을 보여준다.
인자들...
이 명령은 telnet에서 사용하는 각종 on/off 되는 기능, 변수값들을 서로 전환하는데 사용된다. 이 명령의 인자에서 필요에 따라, TRUE 또는 FALSE 값을 지정할 수가 있는데, 이것은 각각, `지정', `해제' 기능을 한다. 한번에 여러 인가들을 함게 사용할 수도 있다. 현재 상태는 display 명령으로 살펴 볼 수 있다. 사용할 수 있는 인자들은 다음과 같다:
localchars 값이 모두 TRUE 면, ao, quit 문자가 인식 될 때( 그래서, TELNET 처리가 이루워질 때; 윗 set 명령 참조), telnet refuses to display any data on the user's terminal until the remote system acknowledges (via a TELNET TIMING MARK option) that it has processed those TELNET sequences. 초기값은 TRUE. 만약, 사용자가 "stty noflsh" 명령으로 터미날 설정을 하지 않았다면, FALSE ( stty(1) 명령 참조).
localchars 값이 모두 TRUE 면, intr 나, quit 문자가 입력될 때(윗 set 명령의 intrquit 문자 설명 참조), TELNET 처리 결과는 TELNET SYNCH 처리에 의해 이루워진다. This procedure should cause the remote system to begin throwing away all previously typed input until both of the TELNET sequences have been read and acted upon. 초기값은 FALSE.
옵션의 8비트 입/출력 전환.
옵션의 8비트 입력 전환.
옵션의 8비트 출력 전환.
이 값이 TRUE 면, 사용자의 엔터글쇠는 <CR><LF> 문자로 리모트 호스트 쪽으로 보내지며, FALSE<CR><NUL> 문자로 보내진다. 초기값은 FALSE.
캐리지 리턴 모드 토클. 이 모드가 TRUE면, 리모트 호스트에서 받아드려지는 대부분의 캐리지 리턴 문자(Enter 글쇠를 쳤을 때 입력되는 문자)는 라인 피드 문자(줄바꿈문자)로 처리된다. 이 모드는 리모트 측에만 영향을 끼친다. 이 모드는 리모트 호스트가 단지 캐리지 리턴 문자만 보내고, 라인 피드 문자를 보내지 않을 경우를 제외하고는 전혀 거의 쓸모 없는 모드이다. 초기값은 FALSE.
소켓 레벨 디버깅 토클 (이것은 시스템 관리자 에게 유용하게 쓰인다) . 초기값은 FALSE.
이 기능이 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, 처리는 eof, susp 문자로 보내진다. 윗 send 명령 참조).
네트워크 상으에서 움직이는 모든 데이터를 보여주는 것(16진수 형식)을 전환한다. 초기값은 FALSE.
몇몇 내부적인 telnet 프로토콜 처리( TELNET 옵션 처리)를 보여주는 것을 천환한다. 초기값은 FALSE.
토클이 TRUE 상태일 때, if prettydump 상태가 TRUE면, netdata 명령은 사용자가 읽기 쉽도록 형식화(format)된다. 각 문자들은 공백문자로 나뉘어 출력되고, TELNET escape 처리 문자들은 앞에 '*' 표시가 덧붙어 출력된다.
명령의 도움말을 보여준다.
telnet 실행 보류. 이 명령은 사용하고 있는 쉘에서 보류 기능(suspend)을 제공하고 있을 때만 가능하다.
[명령]
로칼 시스템의 하위쉘을 실행하고, 그곳에서 인자로 지정한 명령 을 실행한다. 이 옵션의 인자가 빠지면, 단지 하위셀만 실행한다.
telnet 풀그림의 현재 상태를 보여준다. 이것은 현재 접속 상태를 보여주며, 또한 현재 모드에 대한 정보를 보여준다.
[명령]
도움말. 인자 없이 사용되면 telnet 명령의 개요를 보여준다. 명령 인자는 telnet 프롬프트 상에서 사용되는 명령으로 이것이 사용되면, 그 명령에 대한 도움말을 보여준다.

환경변수

telnet 풀그림은 최소한 HOME, SHELL, DISPLAY, TERM 환경 변수를 사용한다. 다른 환경 변수들은 리모트 쪽의 TELNET ENVIRON 옵션에 지원 여부에 따라 사용될 수도 있다.

관련파일

~/.telnetrc
사용자 정의의 telnet 초기화 파일

발자취

telnet 명령은 4.2BSD 에서 처음 나타났다.

참고

어떤 리모트 시스템에서는 “old line by line” 모드에서 echo 기능을 꺼야지만 제대로 동작하는 경우도 있다.

“old line by line” 모드나, LINEMODE 에서는 줄 처음에 eof 문자가 사용되어야지만 제대로 인식된다.

ztelnet

ztelnet 명령은 정식 버클리판의 NetKit-B 패키지에 포함된 것은 아니나, telnet으로 zmodem 프로토콜을 지원하는 BBS에 접속할 때, 그곳의 zmodem 프로토콜을 telnet에서 사용할 수 있도록 수정된 풀그림이다.

자료 받기:

1
리모트 호스트 쪽의 자료를 받으려면, 먼저 리모트 호스트 쪽의 자료 전송 프로토콜을 실행시킨다. (일반적으로 리모트 호스트쪽에서 sz(1) 명령을 실행시키거나, BBS일 경우는 자료 전송 항목에서 zmodem을 선택 한다.)
2
다음 escape 문자(일반적으로 ^])를 입력하고 나서, ztelnet 명령인 rz 명령을 실행한다. (참고: 이때, 먼저 입력 모드가 당연히 binary 모드(set bin 명령)로 되어 있어야 한다.)
자료 보내기:
1
로칼 호스트의 자료를 리모트 호스트 쪽으로 보내려면, 먼저 리모트 호스트 쪽의 자료 전송 프로토콜을 실행시킨다. (일반적으로 리모트 호스트쪽에에서 rz(1) 명령을 실행시키거나, BBS일 경우는 자료 전송 항목에서 zmodem을 선택한다.)
2
다음 escape 문자(일반적으로 ^])를 입력하고 나서, ztelnet 명령인 sz 명령을 실행하는데, 그 명령의 인자로 보낼 파일 이름을 함께 입력해 준다.
July 27, 1991 BSD 4.2