텔넷
"오늘의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]
텔넷은 클라이언트-서버 프로토콜인 텔넷 프로토콜 자체와 텔넷 서비스라는 두 가지 구성 요소로 이루어져 있다.[2] 텔넷 프로토콜은 신뢰성 있는 연결 지향형 전송을 기반으로 하며, 전송 제어 프로토콜(TCP) 포트 번호 23 또는 2323에 연결을 설정하는 데 사용된다.[7][8][9] 이 프로토콜은 모든 터미널을 네트워크 가상 터미널(NVT)로 추상화하며, 클라이언트는 서버에 메시지를 보낼 때 NVT 코드를 사용하여 NVT를 시뮬레이션한다.
텔넷은 본질적으로 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. 구성 요소
텔넷은 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 제어 코드
4. 2. Telnet 명령어
텔넷 명령어는 최소 두 바이트로 구성된다.[7] 첫 번째 바이트는 IAC 이스케이프 문자(일반적으로 바이트 255)이며, 그 뒤에 주어진 명령에 대한 바이트 코드가 따른다.
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 | |
| 3 | Go 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 | 데이터 입력 터미널 | ||
| 21 | SUPDUP | ||
| 22 | SUPDUP 출력 | ||
| 23 | 위치 전송 | ||
| 24 | 터미널 유형 | ||
| 25 | 레코드 종료 | ||
| 26 | TACACS 사용자 식별 | ||
| 27 | 출력 마킹 | ||
| 28 | 터미널 위치 번호 | ||
| 29 | 텔넷 3270 레짐 | ||
| 30 | X.3 PAD | ||
| 31 | 창 크기 협상 | ||
| 32 | 터미널 속도 | ||
| 33 | 원격 흐름 제어 | ||
| 34 | 라인모드 | ||
| 35 | X 디스플레이 위치 | ||
| 36 | 환경 옵션 | ||
| 37 | 인증 옵션 | ||
| 38 | 암호화 옵션 | ||
| 39 | 새로운 환경 옵션 | ||
| 40 | TN3270E | IBM 3270 참조 | |
| 41 | XAUTH | ||
| 42 | CHARSET | ||
| 43 | 텔넷 원격 직렬 포트 (RSP) | ||
| 44 | COM 포트 제어 옵션 | ||
| 45 | 텔넷 로컬 에코 억제 | ||
| 46 | 텔넷 TLS 시작 | ||
| 47 | KERMIT | 커밋 (프로토콜) 참조 | |
| 48 | SEND-URL | ||
| 49 | FORWARD_X | ||
| 50-137 | 할당되지 않음 | ||
| 138 | TELOPT PRAGMA LOGON | ||
| 139 | TELOPT SSPI LOGON | ||
| 140 | TELOPT PRAGMA HEARTBEAT | ||
| 141-254 | 할당되지 않음 | ||
| 255 | 확장 옵션 목록 | ||
| colspan="4" | |
유닉스는 처음부터 호스트를 여러 사용자가 동시에 사용하는 것을 전제로 개발되었으며, IP 네트워크나 텔넷의 등장 이전부터 시리얼 포트 등에 여러 단말을 접속하여 사용할 수 있었다. 이 단말과 호스트의 통신을 IP 네트워크상에서 담당한 것이 텔넷 클라이언트 프로그램과 그 통신 절차를 규정한 텔넷 프로토콜이다.
클라이언트에 따라 VT100 등의 터미널 에뮬레이터로 동작하여 텍스트 모드뿐만 아니라 화면 모드를 실현하는 경우도 있다. 또한 텔넷 프로토콜을 바이너리 모드로 사용하여 IBM 3270의 데이터 스트림을 전송함으로써 IBM 3270 단말을 에뮬레이트하기 위한 TN3270 프로토콜도 개발되었다.
5. 취약점
텔넷은 네트워크 기반 사이버 공격에 취약하며, 이는 패스워드와 핑거프린팅을 포함한 민감한 정보를 패킷 스니핑하는 공격과 같은 형태를 띤다.[5][16] 텔넷 서비스는 또한 배너를 패킷 스니핑하여 서버에 대한 정보(호스트 이름, IP 주소 및 브랜드 등)를 유출하는 데 악용될 수 있다. 이 정보는 텔넷 서비스가 인증 없이 연결을 허용하는지 여부를 확인하는 데 사용될 수 있다. 텔넷은 부적절하게 구성되어 악성 코드에 의해 빈번하게 악용되기도 한다.[9] 실제로 텔넷은 UPnP, CoAP, MQTT, AMQP 및 XMPP 등 다른 일반적인 프로토콜보다 공격자들의 표적이 되는 경우가 더 많다. 흔히 표적이 되는 장치는 사물 인터넷 장치, 라우터 및 모뎀이다.
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 2943 | DSA를 사용한 텔넷 인증 | ||
| RFC 2944 | 텔넷 인증: SRP | ||
| RFC 2946 | 텔넷 데이터 암호화 옵션 | 2000년 9월 | |
| RFC 4248 | 텔넷 URI 스킴 | ||
| RFC 1143 | 텔넷 옵션 협상의 Q 방식 구현 | ||
| RFC 1571 | 텔넷 환경 옵션 상호 운용성 문제 | ||
| RFC 1041 | 텔넷 3270 Regime 옵션 | ||
| RFC 1205 | 5250 텔넷 인터페이스 | 1991년 2월 | |
| RFC 2217 | 텔넷 Com Port 제어 옵션 | ||
| RFC 4777 | IBM의 iSeries 텔넷 향상 | ||
| RFC 215 | NCP, ICP, 및 텔넷 | 1971년 8월 | |
| RFC 736 | 텔넷 SUPDUP 옵션 | 1977년 10월 | |
| RFC 764 | 텔넷 프로토콜 사양 | 1980년 6월 | |
| RFC 884 | 텔넷 터미널 유형 옵션 | 1983년 12월 | |
| RFC 1408 | 텔넷 환경 옵션 | 1993년 1월 | |
| RFC 1412 | 텔넷 인증:SPX | 1993년 2월 | |
| RFC 1416 | 텔넷 인증 옵션 | 1993년 2월 | |
| RFC 2355 | TN3270 향상 | 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 215 | NCP, ICP, 및 텔넷 | 1971년 8월 |
| RFC 736 | 텔넷 SUPDUP 옵션 | 1977년 10월 |
| RFC 764 | 텔넷 프로토콜 사양 | 1980년 6월 |
| RFC 884 | 텔넷 터미널 유형 옵션 | 1983년 12월 |
| RFC 1205 | 5250 텔넷 인터페이스 | 1991년 2월 |
| RFC 1372 | 텔넷 원격 흐름 제어 옵션 | 1992년 10월 |
| RFC 1408 | 텔넷 환경 옵션 | 1993년 1월 |
| RFC 1412 | 텔넷 인증: SPX | 1993년 2월 |
| RFC 1416 | 텔넷 인증 옵션 | 1993년 2월 |
| RFC 2355 | TN3270 향상 | 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 2943 | DSA를 사용한 텔넷 인증 |
| 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 1205 | 5250 텔넷 인터페이스 | |
| RFC 2217 | 텔넷 Com Port 제어 옵션 | |
| RFC 2355 | TN3270 향상 | |
| RFC 4777 | IBM의 iSeries 텔넷 향상 | |
| RFC 215 | NCP, 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 | 텔넷 인증:SPX | 1993년 2월 |
| RFC 1416 | 텔넷 인증 옵션 | 1993년 2월 |
| RFC 2946 | 텔넷 데이터 암호화 옵션 | 2000년 9월 |
7. 텔넷 클라이언트
다음은 텔넷 클라이언트 프로그램 목록이다.
- PuTTY
- Xshell
- AbsoluteTelnet
- RUMBA
- 라인 모드 브라우저
- NCSA 텔넷
- 테라 텀
- SecureCRT
- ZOC 터미널
- 싱크텀
- 윈도 내장 텔넷 프로그램
몇몇 클라이언트에 대한 추가 설명은 다음과 같다.
- 앱솔루트텔넷(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