맨위로가기

텔넷

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

텔넷은 1973년에 정의된 네트워크 프로토콜로, 가상 텔레타이프 개념을 기반으로 하여 7비트 ASCII 문자 세트를 사용하여 데이터를 교환한다. 텔넷은 클라이언트-서버 프로토콜이며, 신뢰성 있는 연결 지향형 전송을 사용하며, 일반적으로 TCP 포트 23 또는 2323을 사용한다. 유닉스 시스템에서 원격 접속을 위해 사용되었으며, 터미널 에뮬레이션 및 IBM 3270 단말 에뮬레이션에도 활용되었다. 텔넷은 사이버 공격에 취약하여 비밀번호와 같은 민감한 정보를 노출할 수 있으며, 보안상의 이유로 SSH와 같은 암호화된 프로토콜로 대체되는 추세이다.

더 읽어볼만한 페이지

  • 텔넷 - MUD
    MUD는 1970년대 후반부터 시작된 텍스트 기반의 멀티 유저 던전 게임으로, 온라인 게임의 초기 형태 중 하나이며, 던전 크롤, 롤플레잉, 소셜 네트워킹 등 다양한 요소를 결합하여 사용자 간의 상호작용을 가능하게 했다.
  • 텔넷 - 전자 게시판
    전자 게시판은 컴퓨터 통신망을 통해 사용자들이 정보를 교환하고 공유하는 시스템으로, PC 통신에서 시작하여 온라인 커뮤니티로 발전하며 다양한 유형과 독특한 문화를 형성해 왔다.
  • URI 스킴 - HTTPS
    HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다.
  • URI 스킴 - HTTP 리퍼러
    HTTP 리퍼러는 웹 페이지 방문 시 링크를 따라온 이전 페이지 URL을 나타내는 HTTP 요청 헤더 필드로서, 웹사이트는 이를 통해 유입 경로를 분석하고 추적에 활용하지만 개인 정보 보호 문제와 철자 오류가 존재한다.
  • 원격 관리 소프트웨어 - 팀뷰어
    팀뷰어는 2005년에 출시된 원격 접근 및 제어 소프트웨어로, 다양한 운영 체제를 지원하며 원격 접근, 제어, 파일 전송, 협업 기능을 제공하고, 개인 사용자를 위한 무료 버전과 상업적 사용을 위한 구독 요금제를 운영한다.
  • 원격 관리 소프트웨어 - 시스코 웹엑스
    시스코 웹엑스는 시스코 시스템즈에서 제공하는 웹 기반 화상 회의 및 협업 솔루션으로, 코로나19 팬데믹 시기에 사용자 수가 급증했지만 보안 및 개인 정보 보호 문제에 대한 논란도 있다.
텔넷
일반 정보
프로토콜 유형응용 계층 프로토콜
기능양방향 통신
연결 유형가상 터미널 연결
기술 정보
포트 번호23
상세 정보
설명텔넷은 가상 터미널 연결을 사용하여 양방향 통신을 제공하는 네트워크 프로토콜이다.
보안 취약점텔넷은 보안에 취약하므로 SSH와 같은 더 안전한 프로토콜로 대체되었다.
용도원격 시스템에 접근하고 명령을 실행하는 데 사용된다.

2. 역사

텔넷은 1973년 3월 5일까지 공식적인 정의가 없는 임시 프로토콜이었다.[31] 그러나 이 이름은 실제로 RFC 206 (NIC 7176)에서 텔레타이프 오버 네트워크 프로토콜(Teletype Over Network Protocol)을 가리키는 말이었다.[32] 텔넷 프로토콜은 7비트 ASCII 문자 집합을 사용하는 가상 텔레타이프 개념에 기반을 두었으며, 사용자 텔넷의 주요 기능은 사용자가 가상 텔레타이프의 모든 키를 입력할 수 있는 수단을 제공하는 것이었다.[33]

텔넷은 본질적으로 8비트 채널을 사용하여 7비트 ASCII 데이터를 교환했다. 상위 비트가 설정된 모든 바이트는 특수 텔넷 문자였다. 1973년 3월 5일, UCLA에서 텔넷 프로토콜 사양(NIC 15372) 및 텔넷 옵션 사양(NIC 15373)이라는 두 개의 NIC 문서 출판과 함께 텔넷 프로토콜 표준이 정의되었다.[14]

과거에 텔넷은 원격 호스트의 명령 줄 인터페이스에 대한 접근을 제공했다. 그러나 인터넷과 같은 개방형 네트워크에서 텔넷을 사용할 때 심각한 보안 문제가 발생했기 때문에, 이 목적을 위한 사용은 SSH를 선호하면서 상당히 줄어들었다.[20] 원격 관리를 위한 텔넷의 사용은 특히 공공 인터넷에서 SSH 프로토콜을 선호하면서 빠르게 감소했다.[2][21] SSH는 텔넷의 기능을 제공하며, 비밀번호와 같은 민감한 데이터가 가로채는 것을 방지하기 위한 강력한 암호화와 원격 컴퓨터가 실제로 주장하는 당사자인지 확인하기 위한 공개 키 인증을 추가로 제공한다.

유닉스는 처음부터 호스트를 여러 사용자가 동시에 사용하는 것을 전제로 개발되었으며, IP 네트워크나 텔넷의 등장 이전부터 시리얼 포트 등에 여러 단말을 접속하여 사용할 수 있었다. 이 단말과 호스트의 통신을 IP 네트워크상에서 담당한 것이 텔넷 클라이언트 프로그램과 그 통신 절차를 규정한 텔넷 프로토콜이다.

클라이언트에 따라 VT100 등의 터미널 에뮬레이터로 동작하여 텍스트 모드뿐만 아니라 화면 모드를 실현하는 경우도 있다. 또한 텔넷 프로토콜을 바이너리 모드로 사용하여 IBM 3270의 데이터 스트림을 전송함으로써 IBM 3270 단말을 에뮬레이트하기 위한 TN3270 프로토콜도 개발되었다.

3. 구성 요소

텔넷은 클라이언트-서버 프로토콜인 텔넷 프로토콜 자체와 텔넷 서비스라는 두 가지 구성 요소로 이루어져 있다.[2] 텔넷 프로토콜은 신뢰성 있는 연결 지향형 전송을 기반으로 하며, 전송 제어 프로토콜(TCP) 포트 번호 23 또는 2323에 연결을 설정하는 데 사용된다.[7][8][9] 이 프로토콜은 모든 터미널을 네트워크 가상 터미널(NVT)로 추상화하며, 클라이언트는 서버에 메시지를 보낼 때 NVT 코드를 사용하여 NVT를 시뮬레이션한다.

텔넷은 UDP/IP보다 먼저 등장했으며 원래 네트워크 제어 프로토콜(NCP)에서 실행되었다.[10] 텔넷 서비스는 사용자가 로컬 텔넷 프로그램(클라이언트 프로그램)을 통해 원격 컴퓨터에서 로그온 세션을 실행하고, 텔넷 서버 프로그램이 사용자의 통신 요구 사항을 처리하는 방식으로 이해할 수 있다.

3. 1. 텔넷 프로토콜

텔넷은 1973년 3월 5일까지 공식적인 정의가 없는 임시 프로토콜이었지만,[31] RFC 206 (NIC 7176)에서 '네트워크 프로토콜을 통한 텔레타이프'를 의미하는 용어로 사용되었다.[32] 텔넷 프로토콜은 7비트 ASCII 문자 집합을 사용하는 가상 텔레타이프 개념에 기반을 두고 있으며, 사용자 텔넷의 주요 기능은 사용자가 가상 텔레타이프의 모든 키를 누를 수 있는 수단을 제공하는 것이다.[33]

본질적으로 8비트 채널을 사용하여 7비트 ASCII 데이터를 교환했다. 상위 비트가 설정된 모든 바이트는 특수 텔넷 문자였다. 1973년 3월 5일, UCLA에서 텔넷 프로토콜 표준이 정의되었다.[14]

텔넷 클라이언트는 텔넷 서버와 소켓을 열어 텍스트 기반 통신을 수행한다. 기본적으로 포트 번호 23번을 사용한다. 현재는 원격 단말을 조작하는 것보다 포트 번호를 변경하여 다양한 서비스의 디버깅에 사용되는 경우가 많다.

유닉스는 처음부터 여러 사용자가 동시에 호스트를 사용하는 것을 전제로 개발되었으며, IP 네트워크나 텔넷의 등장 이전부터 시리얼 포트 등에 여러 단말을 접속하여 사용할 수 있었다. 이 단말과 호스트의 통신을 IP 네트워크상에서 담당한 것이 텔넷 클라이언트 프로그램과 그 통신 절차를 규정한 텔넷 프로토콜이다.

클라이언트에 따라 VT100 등의 터미널 에뮬레이터로 동작하여 텍스트 모드뿐만 아니라 화면 모드를 실현하는 경우도 있다. 또한 텔넷 프로토콜을 바이너리 모드로 사용하여 IBM 3270의 데이터 스트림을 전송함으로써 IBM 3270 단말을 에뮬레이트하기 위한 TN3270 프로토콜도 개발되었다.

3. 2. 텔넷 서비스

텔넷 서비스는 텔넷 프로토콜을 통해 서비스를 제공하는 애플리케이션이다. 대부분의 운영 체제는 클라이언트에 텔넷 서비스를 제공하기 위해 설치하거나 활성화할 수 있는 서비스를 제공한다.[15]

텔넷 클라이언트는 텔넷 서버와 소켓을 열어 단순한 텍스트 기반 통신을 수행하며, 기본적으로 포트 번호 23번을 사용한다. 현재는 원격 단말을 조작하는 것보다 포트 번호를 변경하여 다양한 서비스의 디버깅에 사용되는 경우가 많다.

유닉스는 처음부터 호스트를 여러 사용자가 동시에 사용하는 것을 전제로 개발되었으며, IP 네트워크나 텔넷의 등장 이전부터 시리얼 포트 등에 여러 단말을 접속하여 사용할 수 있었다. 이 단말과 호스트의 통신을 IP 네트워크상에서 담당한 것이 텔넷 클라이언트 프로그램과 그 통신 절차를 규정한 텔넷 프로토콜이다.

클라이언트에 따라 VT100 등의 터미널 에뮬레이터로 동작하여 텍스트 모드뿐만 아니라 화면 모드를 실현하는 경우도 있다. 또한 텔넷 프로토콜을 바이너리 모드로 사용하여 IBM 3270의 데이터 스트림을 전송함으로써 IBM 3270 단말을 에뮬레이트하기 위한 TN3270 프로토콜도 개발되었다.

4. 기술 세부 사항

텔넷의 기술적인 세부 사항은 를 포함한 다양한 규격에 의해 정의된다. 텔넷 클라이언트는 텔넷 서버와 소켓을 열어 단순한 텍스트 기반 통신을 수행하며, 기본적으로 포트 번호 23번을 사용한다. 현재는 원격 단말을 조작하는 것보다 포트 번호를 변경하여 다양한 서비스의 디버깅에 사용되는 경우가 많다.

텔넷은 인증을 포함한 모든 통신을 암호화하지 않고 평문으로 전송하기 때문에, 비밀번호를 탈취하기가 비교적 쉽다. 이러한 보안 취약점 때문에 정보를 암호화하여 전송하는 SSH와 같은 대체 프로토콜이 널리 사용된다.

유닉스는 처음부터 여러 사용자가 동시에 호스트를 사용하는 것을 전제로 개발되었으며, IP 네트워크나 텔넷의 등장 이전부터 시리얼 포트 등에 여러 단말을 접속하여 사용할 수 있었다. 이 단말과 호스트의 통신을 IP 네트워크상에서 담당한 것이 텔넷 클라이언트 프로그램과 그 통신 절차를 규정한 텔넷 프로토콜이다.

클라이언트에 따라 VT100 등의 터미널 에뮬레이터로 동작하여 텍스트 모드뿐만 아니라 화면 모드를 실현하는 경우도 있다. 또한 텔넷 프로토콜을 바이너리 모드로 사용하여 IBM 3270의 데이터 스트림을 전송함으로써 IBM 3270 단말을 에뮬레이트하기 위한 TN3270 프로토콜도 개발되었다.

4. 1. USASCII 제어 코드

이름바이트 코드설명비고
NULL0
줄 바꿈10
캐리지 리턴13
7
백스페이스8
수평 탭9
수직 탭11
폼 피드12
출처: J. Postel 및 Reynolds (1983)[7]


4. 2. Telnet 명령어

텔넷 명령어는 최소 두 바이트로 구성된다.[7] 첫 번째 바이트는 IAC 이스케이프 문자(일반적으로 바이트 255)이며, 그 뒤에 주어진 명령에 대한 바이트 코드가 따른다.

텔넷 명령어[7]
이름바이트 코드설명
SE (하위 협상 종료)240프로토콜 메커니즘의 하위 서비스에 대한 협상(또는 데이터 블록) 종료
NOP (무연산)241아무것도 하지 않는 데이터 패킷
데이터 마크242
Break243
프로세스 중단244상대방에게 현재 프로세스를 종료하도록 요청
출력 중단245상대방에게 출력을 중지하도록 요청
Are you there? (응답 요청)246
문자 지우기247
행 지우기248
계속 진행249
SB (하위 협상 시작)250프로토콜 메커니즘의 하위 서비스 협상 시작
WILL (사용 의사)251이 파티가 프로토콜 메커니즘을 사용할 것임을 상대방에게 알림
WON'T (사용 거부)252이 파티가 프로토콜 메커니즘을 사용하지 않을 것임을 상대방에게 알림
DO (사용 요청)253상대방에게 프로토콜 메커니즘을 사용하도록 지시
DON'T (사용 금지)254상대방에게 프로토콜 메커니즘을 사용하지 않도록 지시
IAC255시퀀스 초기화기/이스케이프 문자


4. 2. 1. Interpret As Command

모든 옥텟 데이터는 0xff를 제외하고 텔넷을 통해 그대로 전송된다.

0xff(10진수로 255)는 다음 바이트가 텔넷 명령임을 나타내는 IAC(Interpret As Command)이다. 스트림에 0xff를 삽입하는 명령은 0xff이므로 텔넷 프로토콜을 통해 데이터를 보낼 때 0xff를 두 배로 늘려 이스케이프해야 한다.[7]

4. 3. Telnet 옵션

텔넷은 협상 가능한 옵션 프로토콜 아키텍처를 채택하여 여러 가지 확장 기능이 개발되었다. 이러한 확장 기능 중 일부는 인터넷 표준으로 채택되었으며, IETF 문서 STD 27에서 STD 32에 해당한다. 일부 확장 기능은 널리 구현되었으며, 다른 확장 기능은 IETF 표준 트랙에서 제안된 표준이다([25]).

텔넷은 또한 텔넷을 구현하는 터미널이 지원해야 하는 다양한 옵션을 가지고 있다. 다음은 텔넷 옵션들을 표로 정리한 것이다.

텔넷 옵션
코드이름규격비고
0바이너리 전송8비트 모드 (이른바 바이너리 옵션)는 ASCII 문자가 아닌 바이너리 데이터를 전송하기 위한 것이다. 표준은 코드 0000–0176을 ASCII로 해석하도록 제안하지만, 상위 비트가 설정된 데이터 옥텟에 대한 의미는 제공하지 않는다. HTTP와 같은 스위치 가능한 문자 인코딩 지원을 도입하려는 시도가 있었지만,[25] 실제 소프트웨어 지원에 대해서는 알려진 바가 없다.
1에코
2재연결NIC 15391 of 1973
3Go Ahead 억제원래 텔넷 프로토콜의 "Go Ahead" 명령 코드(249)는 다른 쪽에서 메시지 전송을 시작할 수 있음을 다른 쪽에 알리는 데 사용된다. 이는 일부 터미널이 메시지를 전송하고 수신할 수 있지만 동시에 수행할 수는 없는 "반이중" 통신에 사용되었다.
4대략적인 메시지 크기 협상NIC 15393 of 1973
5상태
6타이밍 마크
7원격 제어 전송 및 에코
8출력 행 너비NIC 20196 of August 1978
9출력 페이지 크기NIC 20197 of August 1978
10출력 캐리지 리턴 처리
11출력 수평 탭 정지
12출력 수평 탭 처리
13출력 용지 공급 처리
14출력 수직 탭 정지
15출력 수직 탭 처리
16출력 줄 바꿈 처리
17확장 ASCII
18로그아웃
19바이트 매크로
20데이터 입력 터미널
21SUPDUP
22SUPDUP 출력
23위치 전송
24터미널 유형
25레코드 종료
26TACACS 사용자 식별
27출력 마킹
28터미널 위치 번호
29텔넷 3270 레짐
30X.3 PAD
31창 크기 협상
32터미널 속도
33원격 흐름 제어
34라인모드
35X 디스플레이 위치
36환경 옵션
37인증 옵션
38암호화 옵션
39새로운 환경 옵션
40TN3270EIBM 3270 참조
41XAUTH
42CHARSET
43텔넷 원격 직렬 포트 (RSP)
44COM 포트 제어 옵션
45텔넷 로컬 에코 억제
46텔넷 TLS 시작
47KERMIT커밋 (프로토콜) 참조
48SEND-URL
49FORWARD_X
50-137할당되지 않음
138TELOPT PRAGMA LOGON
139TELOPT SSPI LOGON
140TELOPT PRAGMA HEARTBEAT
141-254할당되지 않음
255확장 옵션 목록
colspan="4" |



유닉스는 처음부터 호스트를 여러 사용자가 동시에 사용하는 것을 전제로 개발되었으며, IP 네트워크나 텔넷의 등장 이전부터 시리얼 포트 등에 여러 단말을 접속하여 사용할 수 있었다. 이 단말과 호스트의 통신을 IP 네트워크상에서 담당한 것이 텔넷 클라이언트 프로그램과 그 통신 절차를 규정한 텔넷 프로토콜이다.

클라이언트에 따라 VT100 등의 터미널 에뮬레이터로 동작하여 텍스트 모드뿐만 아니라 화면 모드를 실현하는 경우도 있다. 또한 텔넷 프로토콜을 바이너리 모드로 사용하여 IBM 3270의 데이터 스트림을 전송함으로써 IBM 3270 단말을 에뮬레이트하기 위한 TN3270 프로토콜도 개발되었다.

5. 취약점

텔넷은 네트워크 기반 사이버 공격에 취약하며, 이는 패스워드와 핑거프린팅을 포함한 민감한 정보를 패킷 스니핑하는 공격과 같은 형태를 띤다.[5][16] 텔넷 서비스는 또한 배너를 패킷 스니핑하여 서버에 대한 정보(호스트 이름, IP 주소 및 브랜드 등)를 유출하는 데 악용될 수 있다. 이 정보는 텔넷 서비스가 인증 없이 연결을 허용하는지 여부를 확인하는 데 사용될 수 있다. 텔넷은 부적절하게 구성되어 악성 코드에 의해 빈번하게 악용되기도 한다.[9] 실제로 텔넷은 UPnP, CoAP, MQTT, AMQPXMPP 등 다른 일반적인 프로토콜보다 공격자들의 표적이 되는 경우가 더 많다. 흔히 표적이 되는 장치는 사물 인터넷 장치, 라우터 및 모뎀이다.

SANS 연구소는 다음과 같은 이유로 일반적인 상황에서는 원격 로그인을 위한 텔넷 사용을 중단할 것을 권고한다:[17]


  • 텔넷은 기본적으로 연결을 통해 전송되는 모든 데이터(비밀번호 포함)를 암호화하지 않으므로, 통신을 도청하여 나중에 악의적인 목적으로 비밀번호를 사용하는 것이 종종 가능하다. 텔넷이 사용되는 두 호스트 사이의 네트워크에 위치한 라우터, 네트워크 스위치, 네트워크 허브 또는 게이트웨이에 접근할 수 있는 사람은 누구든지 지나가는 패킷을 가로채어 로그인, 비밀번호 및 패킷 분석기로 입력된 모든 정보를 얻을 수 있다.[16]
  • 대부분의 텔넷 구현은 인증 기능이 부족하다. 보안 연구원에 의해 발견된 약 22,887개의 텔넷 지원 장치는 인증 기능이 없을 뿐만 아니라 시스템에 대한 무제한 접근을 제공했다.[9]
  • 대부분의 텔넷 인증 메커니즘은 중간자 공격에 의해 가로채기 쉽다.[16]


텔넷의 확장 기능은 위에 언급된 문제들을 해결하는 TLS 보안과 SASL 인증을 제공한다.[18] 그러나 대부분의 텔넷 구현은 이러한 확장 기능을 지원하지 않으며, 배너 정보 파싱과 같은 다른 취약점도 해결하지 못한다.[16]

TN5250/TN3270 및 IBM i 시스템을 통해 사용자 정의 텔넷 클라이언트, IBM 5250 또는 3270 워크스테이션 에뮬레이션이 지원된다. 텔넷을 통해 IBM 5250 데이터 스트림을 전달하도록 설계된 클라이언트와 서버는 일반적으로 SSL 암호화를 지원하며, SSH는 5250 에뮬레이션을 포함하지 않는다. IBM i(OS/400라고도 함)에서 포트 992는 보안 텔넷의 기본 포트이다.[19]

인증을 포함한 모든 통신을 암호화하지 않고 평문으로 전송하기 때문에, 비밀번호를 탈취하기가 비교적 쉽다. 정보를 암호화하여 전송하는 SSH가 유사한 기능을 가진 대체 프로토콜로 알려져 있다.

6. 관련 RFC

텔넷 관련 RFC는 다음과 같다. 텔넷은 협상 가능한 옵션 프로토콜 아키텍처를 채택하여 여러 가지 확장 기능이 개발되었다. 이러한 확장 기능 중 일부는 인터넷 표준으로 채택되었으며, IETF 문서 STD 27에서 STD 32에 해당한다. 일부 확장 기능은 널리 구현되었으며, 다른 확장 기능은 IETF 표준 트랙에서 제안된 표준이다.

RFC 번호내용발행일비고
RFC 854텔넷 프로토콜 명세1983년 5월
RFC 855텔넷 옵션 명세1983년 5월
RFC 856텔넷 바이너리 전송
RFC 857텔넷 에코 옵션
RFC 858텔넷 Go Ahead 억제 옵션
RFC 859텔넷 상태 옵션
RFC 860텔넷 타이밍 마크 옵션
RFC 861텔넷 확장 옵션: 리스트 옵션
RFC 885텔넷 레코드 종료 옵션
RFC 1073텔넷 창 크기 옵션
RFC 1079텔넷 터미널 속도 옵션
RFC 1091텔넷 터미널 유형 옵션
RFC 1096텔넷 X 디스플레이 위치 옵션
RFC 1123인터넷 호스트 요구 사항 - 애플리케이션 및 지원
RFC 1184텔넷 라인모드 옵션
RFC 1372텔넷 원격 흐름 제어 옵션1992년 10월
RFC 1572텔넷 환경 옵션
RFC 2941텔넷 인증 옵션
RFC 2942텔넷 인증: Kerberos 버전 5
RFC 2943DSA를 사용한 텔넷 인증
RFC 2944텔넷 인증: SRP
RFC 2946텔넷 데이터 암호화 옵션2000년 9월
RFC 4248텔넷 URI 스킴
RFC 1143텔넷 옵션 협상의 Q 방식 구현
RFC 1571텔넷 환경 옵션 상호 운용성 문제
RFC 1041텔넷 3270 Regime 옵션
RFC 12055250 텔넷 인터페이스1991년 2월
RFC 2217텔넷 Com Port 제어 옵션
RFC 4777IBM의 iSeries 텔넷 향상
RFC 215NCP, ICP, 및 텔넷1971년 8월
RFC 736텔넷 SUPDUP 옵션1977년 10월
RFC 764텔넷 프로토콜 사양1980년 6월
RFC 884텔넷 터미널 유형 옵션1983년 12월
RFC 1408텔넷 환경 옵션1993년 1월
RFC 1412텔넷 인증:SPX1993년 2월
RFC 1416텔넷 인증 옵션1993년 2월
RFC 2355TN3270 향상1998년 6월


6. 1. 인터넷 표준

텔넷은 협상 가능한 옵션 프로토콜 아키텍처를 채택하여 여러 가지 확장 기능이 개발되었다. 이러한 확장 기능 중 일부는 인터넷 표준으로 채택되었으며, IETF 문서 STD 27에서 STD 32에 해당한다.

RFC 번호내용발행일
RFC 854텔넷 프로토콜 명세1983년 5월
RFC 855텔넷 옵션 명세1983년 5월
RFC 856텔넷 바이너리 전송-
RFC 857텔넷 에코 옵션-
RFC 858텔넷 Go Ahead 억제 옵션-
RFC 859텔넷 상태 옵션-
RFC 860텔넷 타이밍 마크 옵션-
RFC 861텔넷 확장 옵션: 리스트 옵션-
RFC 215NCP, ICP, 및 텔넷1971년 8월
RFC 736텔넷 SUPDUP 옵션1977년 10월
RFC 764텔넷 프로토콜 사양1980년 6월
RFC 884텔넷 터미널 유형 옵션1983년 12월
RFC 12055250 텔넷 인터페이스1991년 2월
RFC 1372텔넷 원격 흐름 제어 옵션1992년 10월
RFC 1408텔넷 환경 옵션1993년 1월
RFC 1412텔넷 인증: SPX1993년 2월
RFC 1416텔넷 인증 옵션1993년 2월
RFC 2355TN3270 향상1998년 6월
RFC 2946텔넷 데이터 암호화 옵션2000년 9월


6. 2. 제안된 표준

텔넷은 협상 가능한 옵션 프로토콜 아키텍처를 채택하여 여러 가지 확장 기능이 개발되었다. 이러한 확장 기능 중 일부는 인터넷 표준으로 채택되었으며, IETF 문서 STD 27에서 STD 32에 해당한다. 일부 확장 기능은 널리 구현되었으며, 다른 확장 기능은 IETF 표준 트랙에서 제안된 표준이다.

RFC 번호제목
RFC 885텔넷 레코드 종료 옵션
RFC 1073텔넷 창 크기 옵션
RFC 1079텔넷 터미널 속도 옵션
RFC 1091텔넷 터미널 유형 옵션
RFC 1096텔넷 X 디스플레이 위치 옵션
RFC 1123인터넷 호스트 요구 사항 - 애플리케이션 및 지원
RFC 1184텔넷 라인모드 옵션
RFC 1372텔넷 원격 흐름 제어 옵션
RFC 1572텔넷 환경 옵션
RFC 2941텔넷 인증 옵션
RFC 2942텔넷 인증: Kerberos 버전 5
RFC 2943DSA를 사용한 텔넷 인증
RFC 2944텔넷 인증: SRP
RFC 2946텔넷 데이터 암호화 옵션
RFC 4248텔넷 URI 스킴


6. 3. 기타 RFC

텔넷은 협상 가능한 옵션 프로토콜 아키텍처를 채택하여 여러 확장 기능이 개발되었다. 이 중 일부는 인터넷 표준으로 채택되었으며(IETF 문서 STD 27에서 STD 32), 널리 구현되거나 IETF 표준 트랙에서 제안된 표준도 있다.

RFC제목비고
RFC 1143텔넷 옵션 협상의 Q 방식 구현
RFC 1571텔넷 환경 옵션 상호 운용성 문제
RFC 2066텔넷 문자 집합 옵션
RFC 748텔넷 RANDOMLY-LOSE 옵션만우절 RFC 농담
RFC 1041텔넷 3270 Regime 옵션
RFC 1097텔넷 SUBLIMINAL-MESSAGE 옵션만우절 RFC 농담
RFC 12055250 텔넷 인터페이스
RFC 2217텔넷 Com Port 제어 옵션
RFC 2355TN3270 향상
RFC 4777IBM의 iSeries 텔넷 향상
RFC 215NCP, ICP, 및 텔넷1971년 8월
RFC 736텔넷 SUPDUP 옵션1977년 10월
RFC 764텔넷 프로토콜 사양1980년 6월
RFC 854텔넷 프로토콜 사양1983년 5월
RFC 855텔넷 옵션 사양1983년 5월
RFC 884텔넷 터미널 유형 옵션1983년 12월
RFC 1372텔넷 원격 흐름 제어 옵션1992년 10월
RFC 1408텔넷 환경 옵션1993년 1월
RFC 1412텔넷 인증:SPX1993년 2월
RFC 1416텔넷 인증 옵션1993년 2월
RFC 2946텔넷 데이터 암호화 옵션2000년 9월


7. 텔넷 클라이언트

다음은 텔넷 클라이언트 프로그램 목록이다.



몇몇 클라이언트에 대한 추가 설명은 다음과 같다.

  • 앱솔루트텔넷(AbsoluteTelnet): 윈도우용 텔넷 클라이언트이며, SSH 및 SFTP도 지원한다.
  • Inetutils: 텔넷 클라이언트 및 서버를 포함하며 많은 리눅스 배포판에 기본적으로 설치된다.
  • 라인 모드 브라우저: 명령줄 웹 브라우저이다.
  • PuTTY 및 plink 명령줄: 윈도우, 리눅스, 유닉스용 무료 오픈 소스 SSH, 텔넷, rlogin 및 raw TCP 클라이언트이다.
  • Rtelnet: 텔넷의 SOCKS 클라이언트 버전으로, 방화벽 및 NAT 뒤에 있는 호스트에 텔넷과 유사한 기능을 제공한다.
  • SyncTERM: 텔넷, SSHv2, RLogin, 시리얼, 윈도우, *nix, Mac OS X 플랫폼, X/Y/ZMODEM 및 다양한 BBS 터미널 에뮬레이션을 지원하는 BBS 터미널 프로그램이다.
  • 텔넷.exe: 많은 버전의 마이크로소프트 윈도우 기본 설치에 포함된 명령줄 유틸리티이다.
  • Xshell: https://www.netsarang.com Xshell


유닉스는 처음부터 여러 사용자가 동시에 호스트를 사용하는 것을 전제로 개발되었으며, IP 네트워크나 텔넷의 등장 이전부터 시리얼 포트 등에 여러 단말을 접속하여 사용할 수 있었다. 이 단말과 호스트의 통신을 IP 네트워크상에서 담당한 것이 텔넷 클라이언트 프로그램과 그 통신 절차를 규정한 텔넷 프로토콜이다.

클라이언트에 따라 VT100 등의 터미널 에뮬레이터로 동작하여 텍스트 모드뿐만 아니라 화면 모드를 실현하는 경우도 있다. 또한 텔넷 프로토콜을 바이너리 모드로 사용하여 IBM 3270의 데이터 스트림을 전송함으로써 IBM 3270 단말을 에뮬레이트하기 위한 TN3270 프로토콜도 개발되었다.

8. 현대적 사용

과거에 텔넷은 원격 호스트의 명령 줄 인터페이스에 대한 접근을 제공했다. 그러나 인터넷과 같은 개방형 네트워크에서 텔넷을 사용할 때 심각한 보안 문제가 발생했기 때문에, 이 목적을 위한 사용은 SSH를 선호하면서 상당히 줄어들었다.[20] 원격 관리를 위한 텔넷의 사용은 특히 공공 인터넷에서 SSH 프로토콜을 선호하면서 빠르게 감소했다.[2][21] SSH는 텔넷의 많은 기능을 제공하며, 비밀번호와 같은 민감한 데이터가 가로채는 것을 방지하기 위한 강력한 암호화와 원격 컴퓨터가 실제로 주장하는 당사자인지 확인하기 위한 공개 키 인증을 추가로 제공한다.

텔넷 클라이언트는 서버에 명령을 내리고 응답을 검사하기 위해 SMTP, IRC, HTTP, FTP 또는 POP3와 같은 네트워크 서비스를 디버깅하는 데 사용될 수 있다.[15] 예를 들어, 텔넷 클라이언트 응용 프로그램은 텔넷 서버 포트가 아닌 다른 포트에 대화형 TCP 세션을 설정할 수 있다. 그러나 이러한 포트와의 통신은 텔넷 프로토콜을 포함하지 않는다. 이러한 서비스는 투명한 8비트 TCP 연결을 사용할 뿐이며, 텔넷 프로토콜의 대부분의 요소는 명령 줄 인터페이스에 접근한다는 아이디어를 중심으로 설계되었고, 이러한 옵션이나 메커니즘은 대부분의 다른 인터넷 서비스 연결에 사용되지 않기 때문이다.

명령 줄 인터페이스 텔넷 클라이언트는 TCP 포트 80에서 웹 서버에 HTTP 요청을 보낼 수 있다.[22]

더 오래된 프로토콜은 오늘날 더 현대적인 프로토콜을 지원하지 않는 수십 년 된 레거시 장비에 접근하기 위해 드물게 사용된다.[23] 예를 들어, 많은 산업 및 과학 장치는 텔넷만 통신 옵션으로 사용할 수 있다. 일부는 표준 RS-232 포트만 사용하여 구축되었으며, TCP/텔넷 데이터와 RS-232 직렬 데이터 간의 변환을 제공하기 위해 직렬 서버 하드웨어 어플라이언스를 사용한다. 이러한 경우 인터페이스 어플라이언스를 SSH로 구성할 수 없는 한(또는 SSH를 지원하는 것으로 교체하지 않는 한) SSH는 옵션이 아니다.

텔넷은 아마추어 무선 운영자가 공공 정보를 제공하는 데 일반적으로 사용된다.[24]

보안 연구원은 2021년 현재 인터넷에 노출된 7,096,465개의 시스템이 텔넷을 계속 사용하고 있는 것으로 추정했다. 그러나 이 숫자에 대한 추정치는 기본 TCP 포트 23을 넘어 검사된 포트 수에 따라 크게 다르다.[9]

텔넷 클라이언트는 텔넷 서버와 소켓을 열어 단순한 텍스트 기반 통신을 수행한다. 기본적으로 포트 번호 23번을 사용한다. 현재는 원격 단말을 조작하는 것보다 포트 번호를 변경하여 다양한 서비스의 디버깅에 사용되는 경우가 많다.

유닉스는 처음부터 호스트를 여러 사용자가 동시에 사용하는 것을 전제로 개발되었으며, IP 네트워크나 텔넷의 등장 이전부터 시리얼 포트 등에 여러 단말을 접속하여 사용할 수 있었다. 이 단말과 호스트의 통신을 IP 네트워크상에서 담당한 것이 텔넷 클라이언트 프로그램과 그 통신 절차를 규정한 텔넷 프로토콜이다.

클라이언트에 따라 VT100 등의 터미널 에뮬레이터로 동작하여 텍스트 모드뿐만 아니라 화면 모드를 실현하는 경우도 있다. 또한 텔넷 프로토콜을 바이너리 모드로 사용하여 IBM 3270의 데이터 스트림을 전송함으로써 IBM 3270 단말을 에뮬레이트하기 위한 TN3270 프로토콜도 개발되었다.

참조

[1] 서적 Proceedings of the November 16-18, 1971, fall joint computer conference on - AFIPS '71 (Fall) Association for Computing Machinery
[2] 서적 2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO) 2019
[3] 서적 Dot-dash to Dot.Com: How Modern Telecommunications Evolved from the Telegraph to the Internet Springer
[4] 서적 Internetworking: Technological Foundations and Applications X.media.publishing
[5] 서적 2015 23nd Signal Processing and Communications Applications Conference (SIU) 2015
[6] 서적 Mechanics of user identification and authentication : fundamentals of identity management https://www.worldcat[...] Auerbach Publications 2007
[7] 간행물 Telnet Protocol Specification 1983
[8] 웹사이트 Service Name and Transport Protocol Port Number Registry https://www.iana.org[...] 2023-01-12
[9] 서적 Proceedings of the 21st ACM Internet Measurement Conference Association for Computing Machinery 2021-11-02
[10] 간행물 NCP/TCP transition plan 1981
[11] 간행물 Telnet Protocol 1972-04-03
[12] 서적 WHOIS Running the Internet: Protocol, Policy, and Privacy Wiley
[13] 간행물 A User TELNET - Description of an Initial Implementation Computer Research Lab, UCSB 1971-08-09
[14] 간행물 TELNET Protocol Specification 1973-05-01
[15] 서적 Chapter 11 - Detecting and Performing Security Breaches with Sniffer Pro https://www.scienced[...] Syngress 2023-01-12
[16] 서적 2016 IEEE Conference on Intelligence and Security Informatics (ISI) 2016
[17] 웹사이트 Zero-day flaw in Solaris allows remote attacks https://www.networkw[...] 2023-01-12
[18] 서적 9th Asia-Pacific Conference on Communications (IEEE Cat. No.03EX732) 2003
[19] 웹사이트 TCP/IP Ports Required for IBM i Access and Related Functions http://www-01.ibm.co[...] IBM Support 2016-09-07
[20] 서적 Mechanics of user identification and authentication : fundamentals of identity management https://www.worldcat[...] Auerbach Publications 2007
[21] 간행물 Telnet, dead at 35...RIP https://www.wired.co[...] 2017-06-14
[22] 웹사이트 SysAdmin MD https://www.sysadmin[...] 2023-01-12
[23] 웹사이트 History of the SSH Protocol https://www.ssh.com/[...] SSH Communications Security, Inc. 2017-06-14
[24] 웹사이트 Telnet {{!}} PDF {{!}} Networking Standards {{!}} Internet Standards https://www.scribd.c[...] 2023-01-12
[25] 간행물 TELNET CHARSET Option
[26] 웹사이트 Telnet Options https://www.iana.org[...] 2023-01-12
[27] 웹사이트 The Lost Worlds of Telnet https://thenewstack.[...] 2019-03-10
[28] 논문 Function-oriented protocols for the ARPA computer network Association for Computing Machinery
[29] 서적
[30] 서적 https://www.worldcat[...]
[31] 문서 RFC 318 — documentation of old ad hoc telnet protocol
[32] 서적 WHOIS Running the Internet: Protocol, Policy, and Privacy Wiley 2015-11-02
[33] 문서 The RFC 206 (NIC 7176) http://ietf.org/rfc/[...] Computer Research Lab, UCSB 1971-08-09



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com