The telnet protocol is a client-server protocol that runs on a reliable connection-oriented transport. Most often, a telnet client connects over TCP to port 23 or 2323, where a Telnet server application is listening.91011 The Telnet protocol abstracts any terminal as a Network Virtual Terminal (NVT). The client must simulate a NVT using the NVT codes when messaging the server.
Telnet predated UDP/IP and originally ran over Network Control Protocol (NCP).12 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.
While the official specification stylizes the name as TELNET, it is not defined therein as an acronym or abbreviation.13
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."14
In his 2015 book WHOIS Running the Internet: Protocol, Policy, and Privacy, Internet researcher Garth O. Bruen claims that Telnet was originally short for "Teletype Over Network Protocol."15
Telnet was originally developed for ARPANET in 1969.16 Initially, it was an ad hoc protocol with no formal specification,17 but after extensive work in the 1970s, including numerous RFCs, it was officially formalized in RFC 854 and RFC 855, which together form internet standard 8.1819
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.20 Some of these extensions have also been adopted as Internet standards, particularly standards 27 through 32 (see below).
Telnet is vulnerable to network-based cyberattacks, such as packet sniffing sensitive information including passwords and fingerprinting.21 22 23 Telnet services can also 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 without authentication. Telnet is also frequently exploited by malware due to being improperly configured.24 In fact, Telnet is targeted by attackers more frequently than other common protocols, especially when compared to UPnP, CoAP, MQTT, AMQP and XMPP . Common devices targeted are Internet of things devices, routers and modems.
The SANS Institute recommends that the use of Telnet for remote logins should be discontinued under normal circumstances for the following reasons:25
Extensions to Telnet provide Transport Layer Security (TLS) security and Simple Authentication and Security Layer (SASL) authentication that address the above concerns.29 However, most Telnet implementations do not support these extensions; and they do not address other vulnerabilities such as parsing the banner information.30 Telnet over VPN 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 the LAN has additional security measures against eavesdropping and modification by other devices such as additional encryption and/or VLANs. 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 key mutual authentication.
IBM 5250 or 3270 workstation emulation is supported via custom telnet clients, TN5250/TN3270, and IBM i systems. Clients and servers designed to pass IBM 5250 data streams over Telnet generally do support SSL encryption, as SSH does not include 5250 emulation. Under IBM i (also known as OS/400), port 992 is the default port for TelnetS (Telnet over SSL/TLS).31
Historically, Telnet provided access to a command-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 of SSH.32 The usage of Telnet for remote management has declined rapidly, especially on the public Internet, in favor of the Secure Shell (SSH) protocol.3334 SSH provides much of the functionality of telnet, with the addition of strong encryption to prevent sensitive data such as passwords from being intercepted, and public 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.35 For example, a large number of industrial and scientific devices only have Telnet available as a communication option. Some are built with only a standard RS-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).
Telnet is commonly used by amateur radio operators for providing public information.36
Despite recommendations against it, 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.37
The Telnet client may be used in debugging network services such as SMTP, IRC, or HTTP 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.38[better source needed]
The technical details of Telnet are defined by a variety of specifications including RFC 854.39
Telnet commands consist of at least two bytes.41 The first byte is the IAC escape character (typically byte 255) followed by the byte code for a given command:
All data octets 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.)43
Telnet also has a variety of options that terminals implementing Telnet should support.
Star Wars: Episode IV – A New Hope from 1977 has been recreated as a text art movie served through Telnet.46
Postel, J.; Reynolds, J. K. (1983). "Telnet Protocol Specification". Network Working Group. doi:10.17487/RFC0854. ISSN 2070-1721. RFC 854. https://datatracker.ietf.org/doc/html/rfc854 ↩
Valenčić, D.; Mateljan, V. (2019). "Implementation of NETCONF Protocol". 2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO). pp. 421–430. doi:10.23919/MIPRO.2019.8756925. ISBN 978-953-233-098-4. S2CID 195883872. 978-953-233-098-4 ↩
Daş, 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. ISBN 978-1-4673-7386-9. S2CID 11256038. 978-1-4673-7386-9 ↩
Todorov, Dobromir (2007). Mechanics of user identification and authentication : fundamentals of identity management. Boca Raton: Auerbach Publications. ISBN 978-1-4200-5220-6. OCLC 263353270. 978-1-4200-5220-6 ↩
Mahmood, H.B. (2003). "Transport layer security protocol in Telnet". 9th Asia-Pacific Conference on Communications (IEEE Cat. No.03EX732). Vol. 3. pp. 1033–1037 Vol.3. doi:10.1109/APCC.2003.1274255. ISBN 0-7803-8114-9. S2CID 56798078. 0-7803-8114-9 ↩
"Service Name and Transport Protocol Port Number Registry". www.iana.org. Retrieved 2023-01-12. https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml ↩
Srinivasa, Shreyas; Pedersen, Jens Myrup; Vasilomanolakis, Emmanouil (2021-11-02). "Open for hire". Proceedings of the 21st ACM Internet Measurement Conference. IMC '21. New York, NY, USA: Association for Computing Machinery. pp. 195–215. doi:10.1145/3487552.3487833. ISBN 978-1-4503-9129-0. S2CID 240357287. 978-1-4503-9129-0 ↩
Postel, J. (1981). "NCP/TCP transition plan". Network Working Group. doi:10.17487/RFC0801. ISSN 2070-1721. RFC 801. https://datatracker.ietf.org/doc/html/rfc801 ↩
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. ISBN 9781450379090. 9781450379090 ↩
Bruen, Garth O. (2015). WHOIS Running the Internet: Protocol, Policy, and Privacy (1st ed.). Wiley. p. 25. ISBN 9781118679555. 9781118679555 ↩
Kozierok, Charles M. (2005). The TCP/IP Guide : a comprehensive, illustrated internet protocols reference. San Francisco: No Starch Press. p. 1439. ISBN 1-59327-047-X. Retrieved 5 April 2025. 1-59327-047-X ↩
Telnet Protocol. April 3, 1972. doi:10.17487/RFC0318. RFC 318. https://datatracker.ietf.org/doc/html/rfc318 ↩
Postel, J.; Reynolds, J. (May 1983). Internet Standard 8. IETF. STD 8. Retrieved 2025-04-06. https://www.rfc-editor.org/info/std8 ↩
Shimonski, Robert J.; Eaton, Wally; Khan, Umer; Gordienko, Yuri (2002-01-01), Shimonski, Robert J.; Eaton, Wally; Khan, Umer; Gordienko, Yuri (eds.), "Chapter 11 - Detecting and Performing Security Breaches with Sniffer Pro", Sniffer Pro Network Optimization and Troubleshooting Handbook, Burlington: Syngress, pp. 513–565, doi:10.1016/B978-193183657-9/50015-0, ISBN 978-1-931836-57-9, retrieved 2023-01-12 978-1-931836-57-9 ↩
Samtani, Sagar; Yu, Shuo; Zhu, Hongyi; Patton, Mark; Chen, Hsinchun (2016). "Identifying SCADA vulnerabilities using passive and active vulnerability assessment techniques". 2016 IEEE Conference on Intelligence and Security Informatics (ISI). pp. 25–30. doi:10.1109/ISI.2016.7745438. ISBN 978-1-5090-3865-7. S2CID 11741873. 978-1-5090-3865-7 ↩
Kirk, Jeremy (2007-02-12). "Zero-day flaw in Solaris allows remote attacks". Network World. Retrieved 2023-01-12. https://www.networkworld.com/article/2295079/zero-day-flaw-in-solaris-allows-remote-attacks.html ↩
"TCP/IP Ports Required for IBM i Access and Related Functions". IBM Support. Archived from the original on 2016-09-18. Retrieved 2016-09-07. http://www-01.ibm.com/support/docview.wss?uid=nas8N1019667 ↩
Poulsen, Kevin (2 April 2007). "Telnet, dead at 35...RIP". Wired. p. 24. Archived from the original on 21 December 2016. Retrieved 14 June 2017. https://www.wired.com/2007/04/telnet_dead_at_/ ↩
Ylonen, Tatu. "History of the SSH Protocol". SSH home page. SSH Communications Security, Inc. Archived from the original on 25 July 2018. Retrieved 14 June 2017. https://www.ssh.com/ssh/telnet ↩
"What is Telnet? | PDF | Networking Standards | Internet Standards". Scribd. Retrieved 2023-01-12. https://www.scribd.com/document/514519676/Telnet ↩
"Debugging server services with telnet". www.sysadmin.md. Retrieved 2023-01-12. https://www.sysadmin.md/debugging-server-services-with-telnet.html ↩
TELNET CHARSET Option. doi:10.17487/RFC2066. RFC 2066. https://datatracker.ietf.org/doc/html/rfc2066 ↩
"Telnet Options". www.iana.org. Retrieved 2023-01-12. https://www.iana.org/assignments/telnet-options/telnet-options.xhtml ↩
"The Lost Worlds of Telnet". The New Stack. 10 March 2019. Retrieved 5 June 2022. https://thenewstack.io/the-lost-worlds-of-telnet/ ↩