The name "Telnet" refers to two things: a protocol specifying how two parties are to communicate and a software application that implements the protocol as a service.[2] User data is interspersedin-band with Telnet control information in an 8-bitbyte oriented data connection over theTransmission Control Protocol (TCP). Telnet transmits all information including usernames and passwords in plaintext so it is not recommended for security-sensitive applications such asremote management of routers.[2][3] Telnet's use for this purpose has waned significantly in favor ofSSH.[4] Some extensions to Telnet which would provide encryption have been proposed.[5]
This sectionneeds expansion with: more details about the protocol itself. You can help byadding missing information. (talk)(April 2025)
The telnet protocol is aclient-server protocol that runs on areliableconnection-oriented transport.[citation needed] Most often, a telnet client connects overTCP toport 23 or 2323, where a Telnet server application is listening.[1][6][7] The Telnet protocol abstracts any terminal as a Network Virtual Terminal (NVT). The client must simulate a NVT using theNVT codes when messaging the server.
Telnet predated UDP/IP and originally ran overNetwork Control Protocol (NCP).[8] The telnet service is best understood in the context of a user with a simple terminal using the local Telnet program (known as the client program) to run a logon session on a remote computer where the user's communications needs are handled by a Telnet server program.
A Telnet service is an application providing services over the Telnet protocol. Most operating systems provide a service that can be installed or enabled to provide Telnet services to clients.[citation needed]
The official specification stylizes the name as TELNET, which is not as an acronym or abbreviation.[1]
In a 1972 paper, when discussing one of the early forms of the protocol,Stephen Crocker et al. used "TELNET" explicitly as an abbreviation of "telecommunications network".[9]
In his 2015 bookWHOIS Running the Internet: Protocol, Policy, and Privacy, Internet researcher Garth O. Bruen claims that Telnet was originally short for "Teletype Over Network Protocol".[10]
Telnet was originally developed forARPANET in 1969.[11] Initially, it was anad hoc protocol with no formal specification,[12] but after extensive work in the 1970s, including numerous RFCs, it was officially formalized inRFC854 andRFC855, which together form Internet standard 8.[11][13]
Since then, many additional RFCs have updated or extended the Telnet specification, both to address issues in the original standard and to add new capabilities.[11] Some of these extensions have also been adopted asInternet standards, particularly standards 27 through 32 (seebelow).
Telnet is vulnerable to network-based cyberattacks, such aspacket sniffing sensitive information including passwords andfingerprinting.[3][14][15] Telnet services can be exploited to leak information about the server (such as hostnames, IP addresses, and brand) by packet sniffing the banner. This information can then be searched to determine if a Telnet service accepts a connection withoutauthentication. Telnet is frequently exploited bymalware due to being improperly configured.[7] Telnet is targeted by attackers more frequently than other common protocols, especially when compared toUPnP,CoAP,MQTT,AMQP, andXMPP.[citation needed] Common devices targeted areInternet of things devices, routers, and modems.
TheSANS Institute recommends that the use of Telnet for remote logins should be discontinued under normal circumstances for the following reasons:[16]
Telnet, by default, does notencrypt any data sent over the connection (including passwords), and so it is often feasible to eavesdrop on the communications and use the password later for malicious purposes; anybody who has access to arouter,switch,hub orgateway located on the network between the two hosts where Telnet is being used can intercept the packets passing by and obtain login, password and whatever else is typed with apacket analyzer.[15]
Many Telnet implementations lack authentication.[7]
Extensions to Telnet provideTransport Layer Security (TLS) security andSimple Authentication and Security Layer (SASL) authentication that address the above concerns.[5] However, most Telnet implementations do not support these extensions; and they do not address other vulnerabilities such as parsing the banner information.[15] Telnet overVPN is a viable option if SSHv2 is not supported, or a VPN is already used to securely tunnel other application data to the remote network the Telnet server is present in. However, precautions must be taken: ideally the VPN should terminate on the Telnet server itself, unless theLAN has additional security measures against eavesdropping and modification by other devices such as additional encryption and/orVLANs. This is because Telnet traffic leaves the VPN server in its insecure plaintext form after it is decrypted. The VPN software should be a trusted one that is heavily audited (e.g.OpenVPN,WireGuard,IPsec), using preferably certificate-based/public keymutual authentication.
IBM 5250 or 3270 workstation emulation is supported via custom telnet clients,TN5250/TN3270, andIBM i systems. Clients and servers designed to passIBM 5250 data streams over Telnet generally do supportSSL encryption, as SSH does not include 5250 emulation. UnderIBM i (also known as OS/400), port 992 is the default port for TelnetS (Telnet over SSL/TLS).[17]
BusyBox runs under the Microsoft TelnetClient from a router.
Historically, Telnet provided access to acommand-line interface on a remote host. However, because of serious security concerns when using Telnet over an open network such as the Internet, its use for this purpose has waned significantly in favor ofSSH.[18] The usage of Telnet for remote management has declined rapidly, especially on the publicInternet, in favor of theSecure Shell (SSH) protocol.[2][19] SSH provides much of the functionality of telnet, with the addition of strong encryption to prevent sensitive data such as passwords from being intercepted, andpublic key authentication, to ensure that the remote computer is actually who it claims to be.
The Telnet protocol is mainly used for legacy equipment that does not support more modern communication mechanisms.[20] For example, many industrial and scientific devices only have Telnet available as a communication option. Some are built with only a standardRS-232 port and use a serial server hardware appliance to provide the translation between the TCP/Telnet data and the RS-232 serial data. In such cases, SSH is not an option unless the interface appliance can be configured for SSH (or is replaced with one supporting SSH).[citation needed]
Security researchers estimated that 7,096,465 exposed systems on the Internet continue to use Telnet as of 2021. However, estimates of this number have varied significantly, depending on the number of ports scanned beyond the default TCP port 23.[7]
The Telnet client may be used indebugging network services such asSMTP,IRC, orHTTP servers, to issue commands to the server and examine the responses. In this case, when the Telnet client establishes a TCP connection to a port other than the standard Telnet server port, it does not use the Telnet protocol, and can be used instead to send and receive data over the TCP connection directly.[23][better source needed]
All dataoctets except 0xff are transmitted over Telnet as is.(0xff, or 255 in decimal, is the IAC byte (Interpret As Command) which signals that the next byte is a telnet command. The command to insert 0xff into the stream is 0xff, so 0xff must be escaped by doubling it when sending data over the telnet protocol.)[1]
The 8-bit mode (so namedbinary option) is intended to transmit binary data, not ASCII characters. The standard suggests the interpretation of codes 0000–0176 as ASCII, but does not offer any meaning for high-bit-setdata octets. There was an attempt to introduce a switchable character encoding support like HTTP has,[24] but nothing is known about its actual software support.
The "Go Ahead" command code (249) in the original Telnet protocol is used to notify to the other end that the other end could start sending back messages. This was used in "half duplex" communication, as some terminals could send messages and receive messages, but not simultaneously.
SyncTERM is a BBS terminal program supporting Telnet, SSHv2, RLogin, Serial, Windows, *nix, and Mac OS X platforms, X/Y/ZMODEM and various BBS terminal emulations
telnet.exe command line utility included in default installation of many versions of Microsoft Windows.
^abDaş, Resul; Karabade, Abubakar; Tuna, Gurkan (2015). "Common network attack types and defense mechanisms".2015 23nd Signal Processing and Communications Applications Conference (SIU). pp. 2658–2661.doi:10.1109/SIU.2015.7130435.ISBN978-1-4673-7386-9.S2CID11256038.
^Todorov, Dobromir (2007).Mechanics of user identification and authentication : fundamentals of identity management. Boca Raton: Auerbach Publications.ISBN978-1-4200-5220-6.OCLC263353270.
^Crocker, Stephen D.; Heafner, John F.; Metcalfe, Robert M.; Postel, Jonathan B. (1971). "Function-oriented protocols for the ARPA computer network".Proceedings of the November 16-18, 1971, fall joint computer conference on - AFIPS '71 (Fall). Association for Computing Machinery. pp. 271–279.doi:10.1145/1478873.1478908.ISBN9781450379090.
^Bruen, Garth O. (2015).WHOIS Running the Internet: Protocol, Policy, and Privacy (1st ed.). Wiley. p. 25.ISBN9781118679555.
^Todorov, Dobromir (2007).Mechanics of user identification and authentication : fundamentals of identity management. Boca Raton: Auerbach Publications.ISBN978-1-4200-5220-6.OCLC263353270.
^Poulsen, Kevin (2 April 2007)."Telnet, dead at 35...RIP".Wired. p. 24.Archived from the original on 21 December 2016. Retrieved14 June 2017.
^Ylonen, Tatu."History of the SSH Protocol".SSH home page. SSH Communications Security, Inc.Archived from the original on 25 July 2018. Retrieved14 June 2017.