Disclaimer
- Telnet is not a secure protocol and is thus NOT RECOMMENDED!. This is because data sent over the protocol is unencrypted and can be intercepted by hackers.
- Instead of using telnet, a more preferred protocol to use is SSH which is encrypted and more secure
Let’s see how you can install and use the telnet protocol.
Telnet is a network protocol and tool used to connect remote systems via a command-line interface. Similar to SSH, telnet can be used to manage remote systems. Telnet use the TCP port 23. Event the telnet is created by Microsoft it is popularly used Linux and network systems. In this tutorial we examine how to install telnet client, telnet server, how to connect telnet and use it.
Интерактивная система просмотра системных руководств (man-ов)
Немногие пользователи компьютера сегодня знают о существовании различных специальных протоколов на компьютере, позволяющих без использования графического интерфейса и сторонних программ выполнять различные действия. Поэтому сразу возникает желание узнать, как пользоваться службой TELNET, когда узнают о соответствующем протоколе.
Далее будут изложено немного теории о том, что такое TELNET, то, ради чего многие и стремятся ей овладеть: возможности службы, а также список основных команд, позволяющий эти возможности осуществить на Windows.

telnet – Man Page
Examples (TL;DR)
Telnet to the default port of a host:
telnet hostTelnet to a specific port of a host:
telnet ip_address portExit a telnet session:
quitStart telnet with “x” as the session termination character:
telnet -e x ip_address portTelnet to Star Wars animation:
telnet towel.blinkenlights.nl
Synopsis
Environment
telnet uses at least the HOME, SHELL, DISPLAY, and TERM environment variables. Other environment variables may be propagated to the other side via the TELNET ENVIRON option.
Files
- ~/.telnetrc
History
The telnet command appeared in 4.2BSD.
Notes
In “old line by line” mode or LINEMODE the terminal’s eof character is only recognized (and sent to the remote system) when it is the first character on a line.
Source routing is not supported yet for IPv6.
Referenced By
cloginrc(5), heimdal-krb5.conf(5), in.telnetd(8), kerberos(8), kf(1), lg.conf(5), mausezahn(8), netcat(1), ping(8), pmdacisco(1), powwow(6), pty(7), qodem-x11(1), rancid.conf(5), rlogin(1), router.db(5), ser2net(8), tcpconnect(1), tcplisten(1), telnet-chatd(1), telnet-client(1), telnet-probe(1), telnet-proxy(1), virt-rescue(1), zssh(1).
February 3, 1994
Can anyone tell me how to telnet to an address using a specific port?
telnet 10.1.1.55I suppose a route just hasn’t been set up between the two hosts?
What I am trying to do is this. We have a medical device – a ventilator. it is connected to the network via a converter box called ECOV-110 on this ip address. This device, displays messages when it gives oxygen and other things it does for the patient. We would like to capture these messages, and update the Patients record in the database.
So I am trying to telnet to the Ecov 110 and see if there is any data there to capture.

asked Sep 23, 2011 at 13:25
The port number is the second parameter to telnet
telnet 10.1.55.55 110to telnet to port 110.
answered Sep 23, 2011 at 13:27
On a normal Unix machine the port is just the second argument on the command line. If you wanted to telnet to your device on port 12345 you’d use:
telnet 10.1.1.55 12345You have to be able to establish a connection to the remote host and know which port number you want to talk to, though.

15 gold badges57 silver badges68 bronze badges
answered Sep 23, 2011 at 13:28
1 silver badge2 bronze badges
The manual covers use of a tool to identify the device on the network and how to interface with it. Since this device is being used in a medical setting I’d speak to the suppliers before trying any DIY interfacing just in case there are any technical or legal reasons why you shoould not be doing such.
answered Sep 23, 2011 at 20:35
3 gold badges52 silver badges72 bronze badges
Just get a telnet client like PuTTy. It will ask you for the Host Address (the IP address of the box you want to access).
answered Sep 23, 2011 at 13:29
ah so ecov 110 product – the 110 means it is operating on the port 110? – Booksman
telnet 10.1.1.55 4000answered Sep 26, 2011 at 17:24
4 silver badges12 bronze badges
answered Mar 24, 2015 at 4:15
Dessa Simpson
1 gold badge15 silver badges27 bronze badges
Telnet is essentially just opening a raw TCP socket. Hence any port that accepts TCP connections will allow you to connect to it with telnet (sometimes briefly, if you don’t subsequently negotiate correctly and in a timely manner).
That includes the SSH service that runs by default on port 22 by the way, but since that is not a plain text protocol (like the telnet service on port 23 or SMTP on port 25) you can’t manually type characters into the socket after you connect and expect it to work – it will just be garbled nonsense.
In terms of knowing which ports to try on a given server, first off you need to be careful – scanning for open ports on a machine that you do not own can get you into trouble with the owner of that machine, and it can set off alarms on intrusion detection systems. It is, after all, how a hacker would attempt to “footprint” a host to determine what is running on it. There is no easy way to distinguish between that type of scan and your relatively innocent one, so be careful.
If you own the machine or are sure that there is no problem with you looking for open ports on it, then you can use a program like nmap (there are others) to figure out what you can connect to.
In terms of knowing what ports to connect to in advance, or figuring out what a particular open port might do, the official registry of port assignments is the first port of call. You will usually have a version of this locally on your host also – for Unix/Linux systems you can find this in /etc/services and for Windows it will be something like C:\Windows\System32\drivers\etc\services. Be warned that those local copies can often be quite stale.
Which makes HTTP worth mentioning – you can telnet to port 80 (the http default port) and issue a simple command in plain text, just like a browser. It used to be as easy as sending GET / but that was in the HTTP 1.0 days, and it’s a little (but not much) more complicated now:
$ telnet superuser.com 80
Trying 198.252.206.16...
Connected to superuser.com.
Escape character is '^]'.
GET / HTTP/1.1
Host: superuser.com
HTTP/1.1 200 OK
Cache-Control: public, no-cache="Set-Cookie", max-age=14
Content-Type: text/html; charset=utf-8
Expires: Thu, 31 Jul 2014 18:04:39 GMT
Last-Modified: Thu, 31 Jul 2014 18:03:39 GMT
Vary: *
X-Frame-Options: SAMEORIGIN
Set-Cookie: prov=d901880d-730c-4d91-9ac9-7d81d84fe58a; domain=.superuser.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Date: Thu, 31 Jul 2014 18:04:24 GMT
Content-Length: 69500
<!DOCTYPE html>I’ve truncated the rest for the sake of brevity.
Начинаем пользоваться
Запуск
Запустить TELNET на Windows 7 и на любой другой Винде достаточно просто. Для этого необходимо сначала клиент, если он ещё не установлен:
- Зайти в Панель управления.

- Выбрать пункт «Программы».
- Выбрать вкладку «Включение или отключение компонентов Windows».

- Найти Telnet-клиент и поставить напротив него маркер, если он ещё не установлен.
После нажимаем «ОК» и ждём минуту, пока клиент устанавливается.
Запуск терминала осуществляется в Windows через командную строку, если у вас не установлено каких-либо специальных утилит для работы с Телнет. Но раз вы читаете эту статью, значит, только начинаете знакомство с этой темой, и для начала неплохо бы было освоить основы управления при помощи командной строки.
- Запускаем командную строку от имени администратора.
- Вводим «telnet».
Командная строка перезагружается, и теперь откроется командная линия TELNET, в которой мы и будем работать.
Проверяем порт
Одно из простейших действий, выполняемых в TELNET — проверка порта. Вы можете проверить порт на наличие доступа к нему с вашего компьютера. Для этого нужно сделать следующее:

telnet 192.168.0.1 21
Если команда выдаёт сообщение об ошибке, значит, порт недоступен. Если появляется пустое окно или просьба ввести дополнительные данные, значит, порт открыт. Для Windows такой способ проверить порт может быть достаточно удобным.
Команды
Команды TELNET составляют основу использования терминала. С их помощью можно управлять компьютером, который использует этот протокол, если для вас разрешён доступ, а также совершать другие различные действия. Как уже сказано выше, на Windowsони вводятся в командной строке приложения Телнет.
Для того чтобы увидеть основной список команд, введите в строке helpи нажмите «Enter». Базовые команды:
- Open — подключение к удалённому серверу. Необходимо ввести эту команду вместе с именем управляемого сервера и номером порта, например: openredmond 44. Если параметры не указаны, то используются локальный сервер и порт по умолчанию.
- Close — отключение от удалённого сервера. Используются аналогичные параметры.
- Set — настройка удалённого сервера, используется с именем управляемого сервера. Вместе с Set используются следующие команды:
- [Term {терминал}] — используется, чтобы задавать терминал указанного типа.
- [Escapeсимвол] — задаёт управляющий символ.
- [Mode {console или stream}] — задаёт режим работы.
- Unset [параметр] — отключает заданный ранее параметр.
- Start — запускает сервер Телнет.
- Pause — ставит работу сервера на паузу.
- Continue — возобновляет работу.
- Stop — останавливает сервер.
TELNET — один из старейших протоколов, но при этом он до сих пор применяется. Это означает, что и вы можете начать использовать его в своих целях. Для этого нужно лишь изучить синтаксис и список команд и начать практиковаться. Вы можете почерпнуть много нового, а заодно совсем по-другому начать смотреть на интернет и на привычные ранее действия в сети.
В этой статье мы покажем вам, как проверить, какие порты открыты в удаленной системе Linux, используя три метода.
Это можно сделать с помощью следующих команд Linux.
- nc: Netcat – простая утилита Unix, которая считывает и записывает данные через сетевые соединения, используя протокол TCP или UDP.
- nmap: Nmap («Network Mapper») – это инструмент с открытым исходным кодом для исследования сети и аудита безопасности. Он был разработан для быстрого сканирования больших сетей.
- telnet: команда telnet используется для интерактивного взаимодействия с другим хостом по протоколу TELNET.
Как проверить, открыт ли порт на удаленной системе Linux с помощью команды nc (netcat)?
nc означает netcat.
Netcat – это простая утилита Unix, которая читает и записывает данные через сетевые соединения, используя протокол TCP или UDP.
Она разработана, чтобы быть надежным «внутренним» инструментом, который может использоваться напрямую или легко управляться другими программами и скриптами.
В то же время это многофункциональный инструмент для отладки и исследования сети, поскольку он может создавать практически любые типы соединений, которые вам понадобятся, и имеет несколько интересных встроенных возможностей.
Netcat имеет три основных режима работы.
Это режим подключения, режим прослушивания и туннельный режим.
Общий синтаксис для nc (netcat):
$ nc [-options] [HostName or IP] [PortNumber]
В этом примере мы собираемся проверить, открыт ли порт 22 в удаленной системе Linux.
В случае успеха вы получите следующий результат.
# nc -zvw3 192.168.1.8 22 Connection to 192.168.1.8 22 port [tcp/ssh] succeeded!
Если порт не доступен, вы получите следующий вывод.
# nc -zvw3 192.168.1.95 22 nc: connect to 192.168.1.95 port 22 (tcp) failed: Connection refused
Как проверить, открыт ли порт на удаленной системе Linux с помощью команды nmap?
Nmap («Network Mapper») – это инструмент с открытым исходным кодом для исследования сети и аудита безопасности.
Он был разработан для быстрого сканирования больших сетей, хотя он отлично работает на отдельных хостах.
Хотя Nmap обычно используется для аудита безопасности, многие системные и сетевые администраторы считают его полезным для рутинных задач, таких как инвентаризация сети, управление расписаниями обновления служб и мониторинг времени работы хоста или службы.
Общий синтаксис для nmap:
$ nmap [-options] [HostName or IP] [-p] [PortNumber]
В случае успеха вы получите следующий результат.
# nmap 192.168.1.8 -p 22 Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-16 03:37 IST Nmap scan report for 192.168.1.8 Host is up (0.00031s latency). PORT STATE SERVICE22/tcp open sshNmap done: 1 IP address (1 host up) scanned in 13.06 seconds
Если это не удастся, вы получите следующий вывод.
# nmap 192.168.1.8 -p 80 Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-16 04:30 IST Nmap scan report for 192.168.1.8 Host is up (0.00036s latency). PORT STATE SERVICE80/tcp closed httpNmap done: 1 IP address (1 host up) scanned in 13.07 seconds
См. еще про Nmap:
При использовании компьютера или смартфона мы используем различные аппаратные порты, такие как 3,5 мм для аудио, HDMI, Type-c и т. д., которые используются для связи с аппаратными периферийными устройствами.
Аналогичным образом, сетевые порты делают тоже самое, позволяя нам получать доступ к различным сетевым сервисам на одном компьютере.
Поэтому даже если вы студент ИТ-специальности или хотите начать работать в сфере сетей, порты считаются одним из самых основных и фундаментальных терминов.
Поэтому в этой статье я расскажу вам о некоторых основах сетевых портов, о диапазоне портов и о некоторых наиболее распространенных портах, с которых можно начать работу.
Что такое сетевой порт?
Если вы хотите получить от кого-то письмо, вам нужно установить у себя дома почтовый ящик, который необходим для получения писем.
Точно так же работают и компьютеры.
Письмо можно рассматривать как данные приложения, которые вам нужно получить, а почтовый ящик – это номер порта для этого приложения.
Но ваш компьютер не обязан использовать только одну прикладную службу, и мы используем несколько служб одновременно в фоновом режиме, вот почему нам нужны несколько номеров портов, которые варьируются от 0 до 65535.
Эти номера портов делятся на 3 диапазона в соответствии с условиями использования:
- Известные порты (0-1023): Эти порты также известны как системные порты, которые назначаются определенным службам IANA (Internet Assigned Numbers Authority).
- Зарегистрированные порты (1023-49151): Эти порты известны как пользовательские порты и доступны для регистрации IANA. Причина регистрации заключается в том, чтобы избежать путаницы между портами.
- Динамические порты (49152-65535): Динамический порт может быть назначен для службы на определенное время и в основном используется клиентскими программами.
Транспортные протоколы
Что же я подразумеваю под транспортным протоколом?
В самых основных терминах, транспортные протоколы отвечают за установление соединений и обеспечение того, что ваши данные были переданы без ошибок.
В основном, существует 2 типа протоколов, которые мы обычно используем:
TCP
Он расшифровывается как Transmission Control Protocol и является протоколом, ориентированным на соединение, что означает, что после установления соединения с его помощью данные могут передаваться в двух направлениях.
TCP имеет встроенный механизм, который гарантирует безошибочную доставку данных.
Это делает его идеальным для передачи изображений, данных, веб-страниц, видео и т.д.
‼️ Как запомнить все флаги TCP
UDP
Он быстрее по сравнению с TCP и не идеально подходит для отправки таких данных, как изображения, видео и т.д., а также имеет поддержку широковещания.
Он в основном используется в видеоконференциях, потоковой передаче, DNS, VoIP и т.д.
Основные сетевые порты
Давайте обсудим одни из наиболее часто используемых по умолчанию портов.
FTP – 21
Итак, порт 21 используется для протокола FTP (File Transfer Protocol).
Основное назначение FTP – обмен файлами между клиентом и сервером.
По умолчанию FTP не включает шифрование файлов, передаваемых по установленным соединениям, и это часто считается риском.
SSH – 22
SSH (Secure Shell) широко используется опытными пользователями или системными администраторами для доступа к удаленным компьютерам. Но вы также можете использовать SSH для передачи данных по сети.
SSH использует криптографические методы, которые обеспечивают шифрование соединения между удаленным сервером и вашим компьютером.
TELNET – 23
TELNET расшифровывается как TErminaL NETwork.
Она используется для соединения компьютеров через Интернет или локальных компьютеров и обеспечивает двунаправленную интерактивную текстово-ориентированную связь.
TELNET не обеспечивает никакого шифрования, и это основная причина, по которой он используется только для соединения локальных машин.
🖧 Ищете telnet на RHEL 8? Попробуйте nc
SMTP – 25
Простой протокол передачи почты (SMTP) используется для отправки сообщений, но не может их принимать, поскольку не может ставить сообщения в очередь в точке приема.
Поэтому он часто используется в паре с другими протоколами, такими как POP3 или IMAP для получения сообщений.
DNS – 53
DNS использует TCP и UDP на порту № 53, но по умолчанию он использует UDP и переключается на TCP только тогда, когда не может взаимодействовать с помощью UDP.fquery на Linux
DHCP – 67,68
Он также предоставляет другие сетевые адреса, такие как маски подсети, шлюз по умолчанию и адреса DNS.
Он использует два порта UDP: 67 и 68. Порт № 67 используется серверами, а 68 – клиентами.
HTTP – 80
Вам может быть знакомо название HTTP (Hyper Text Transfer Protocol), которое используется для передачи данных через Интернет, а также определяет, как браузеры будут взаимодействовать с веб-сайтами.
Проще говоря, мы используем HTTP для отправки и получения запросов страниц от веб-сервера.
POP3 – 110
Как я уже говорил, POP3 (Post Office Protocol version 3) в основном используется для получения почты с удаленного сервера или локального компьютера.
🖧 Обзор анализаторов сетевых пакетов для аналитиков безопасности
🐧 Как проверить шифрование TLS / SSL в любом месте на любом порту
Portmapper – 111
Служба Portmapper построена на основе RPC, и она необходима для работы NFS как на стороне клиента, так и на стороне сервера.
Поскольку она построена поверх RPC, она работает на порту № 111 как для TCP, так и для UDP.
Iptables для портов сервера NFS
NTP – 123
Сетевой протокол времени (NTP) – один из старейших, но крайне важный для работы серверов.
Он работает по протоколу UDP и использует порт № 123.
Причина, по которой NTP имеет решающее значение, заключается в том, что он используется для синхронизации времени, а синхронизация времени не только удобна, но и крайне важна для работы различных приложений.
NetBIOS – 137
Network Basic Input/Output System (NetBIOS) – это сетевая служба, которая позволяет приложениям различных компьютеров общаться друг с другом по локальной сети.
IMAP – 143
Internet Message Access Protocol (IMAP) по умолчанию является незашифрованным портом, который позволяет вам получить доступ к вашей электронной почте с любого устройства.
IMAP позволяет читать сообщения, но по умолчанию не позволяет загружать или хранить их локально.
📦 Как сканировать пакеты на уязвимости (deb, rpm, pip, apk, npm и другие)
SNMP – 161, 162
Простой протокол управления сетью (SNMP) – это набор протоколов сетевого мониторинга.
В основном он используется для мониторинга брандмауэров, серверов, коммутаторов и других сетевых устройств.
HTTPS – 443
Протокол передачи гипертекста Secure (HTTPS), как следует из его названия, является защищенной версией HTTP.
Это основной протокол для передачи данных между веб-браузерами и веб-сайтами.
Он обеспечивает надежное шифрование, ему доверяют и используют миллионы пользователей по всему миру.
IMAP через SSL – 993
Можно считать, что это более безопасная версия IMAP, поскольку трафик IMAP будет проходить через защищенный сокет на защищенный порт.
Когда мы используем активное шифрование, оно использует порт 993 и гарантирует нам безопасность и конфиденциальность в Интернете.
Вы также можете обратиться к таблице, в которой приведены наиболее распространенные порты с указанием номера порта и протокола, который он использует:
Заключение
Базовые знания о портах — одна из самых важных вещей, которую нужно понять, и в этой статье мы собрали информацию о том, какие порты обычно используются в повседневной жизни, с базовым объяснением.
NAME
telnet - user interface to theTELNETprotocol Как проверить, открыт ли порт на удаленной системе Linux с помощью команды telnet?
Команда telnet используется для интерактивного взаимодействия с другим хостом по протоколу TELNET.
Общий синтаксис для telnet:
$ telnet [HostName or IP] [PortNumber]
В случае успеха вы получите следующий результат.
$ telnet 192.168.1.9 22 Trying 192.168.1.9...Connected to 192.168.1.9.Escape character is '^]'. SSH-2.0-OpenSSH_5.3 ^] Connection closed by foreign host.
Если это не удастся, вы получите следующий вывод.
$ telnet 192.168.1.9 80 Trying 192.168.1.9...telnet: Unable to connect to remote host: Connection refused
Connect Telnet Server with Non-Default Port
$ telnet 192.168.1.1 2323Installing Telnet
In this section, we will walk you through the process of installing telnet in RPM and DEB systems.
Installation of Telnet in CentOS 7 / RHEL 7
To begin the installation process on the server, run the command
# yum install telnet telnet-server -ySample Output
Next, Start and enable the telnet service by issuing the command below
# systemctl start telnet.socket
# systemctl enable telnet.socketSample Output
Next, allow port 23 which is the native port that telnet uses on the firewall.
# firewall-cmd --permanent --add-port=23/tcpFinally, reload the firewall for the rule to take effect.
# firewall-cmd --reloadSample Output
To verify the status of telnet run
# systemctl status telnet.socketCreating a login user
# adduser telnetuser# passwd telnetuserSpecify the password and confirm. To use telnet command to log in to a server, use the syntax below.
$ telnet server-IP address$ telnet 38.76.11.19Installation of Telnet in Ubuntu 18.04
To install telnet protocol in Ubuntu 18.04 execute:
$ sudo apt install telnetd -ySample Output
To check whether telnet service is running, execute the command.
$ systemctl status inetdSample Output
Next, we need to open port 23 in ufw firewall.
$ ufw allow 23/tcpSample Output
Finally, reload the firewall to effect the changes.
$ ufw reloadSummary
This tutorial is an educational guide that shows you how to use telnet protocol. We HIGHLY DISCOURAGE the use of telnet due to the high-security risks it poses due to lack of encryption. SSH is the recommended protocol when connecting to remote systems. The data sent over SSH is encrypted and kept safe from hackers.
Allow telnet Service Port In Firewall
$ sudo ufw allow telnetAlternatively, we can specify port number 23 like below.
$ sudo ufw allow telnetUsing telnet to check for open ports
Telnet can also be used to check if a specific port is open on a server. To do so, use the syntax below.
$ telnet server-IP portFor example, to check if port 22 is open on a server, run
$ telnet 38.76.11.19 22What is Telnet ?
Telnet is an old network protocol that is used to connect to remote systems over a TCP/IP network. It connects to servers and network equipment over port 23. Let’s take a look at Telnet command usage.
Telnet Interactive Shell
Telnet provides an interactive shell if it is executed without any remote server IP address. The interactive shell can be used to connect remote telnet servers or print connection status etc.
$ telnet
Сетевой протокол и текстовый интерфейс
TELNET — это средство связи, которое устанавливает транспортное соединение между терминальными устройствами, клиентами, то есть вашим компьютером и чьей-то ещё машиной, сервером, поддерживающей этот стандарт соединения. Это не специальная программа, а всего лишь сетевой протокол, но также словом TELNET (terminalnetwork) называют различные утилиты, которые также используют этот протокол. Сегодня Телнет присутствует практически везде, все ОС, так или иначе, его используют, в том числе и Windows.
TELNET реализует текстовый интерфейс, который отличается от привычного рядовому пользователю графического тем, что все команды необходимо вбивать вручную.
Что нам всё это даёт?
Ранее эта служба была одним из немногих способов подключения к сети, но с течением времени утратила свою актуальность. Сегодня есть гораздо более удобные программы, которые делают за пользователя всю работу, и не заставляют его заучивать наизусть различные команды для того, чтобы выполнить простейшие действия. Однако кое-что при помощи Телнет можно сделать и сейчас.

Подключения к сети
При помощи Телнет вы можете:
- подключаться к удалённым компьютерам;
- проверить порт на наличие доступа;
- использовать приложения, которые доступны только на удалённых машинах;
- использовать различные каталоги, к которым получить доступ можно только таким образом;
- отправлять электронные письма без использования специальных программ (клиентов);
- понимать суть работы многих протоколов, использующихся сегодня, и извлекать из этого для себя определённую выгоду;
- обеспечивать другим юзерам доступ к данным, размещённым на своём компьютере.
Connect Telnet Server
Telnet command can be used to connect a remote telnet server or telnet service. The IP address or hostname of the remote telnet server is provided like below.
$ telnet linuxtect.comAlternatively, the remote server IP address can be also specified like below.
$ telnet 192.168.1.1Display Telnet Connection Status
Telnet provides different useful commands. The status command can be used to show the current status of the telnet connection. The status command is executed in the telnet interactive shell.
statusHISTORY
telnet
SYNOPSIS
telnet
8EFKLacdfrx
X
authtype
b
hostalias
e
escapechar
k
realm
l
user
n
tracefile
host
port
FILES
- ~/.telnetrc
- user customized telnet startup values
Install Telnet Server (telnetd)
The telnet client connects to the telnet server in order to manage the telnet server. The telnet server should be installed for this connection. The telnet server package name is telnetd where the letter d comes from daemon. The telnet server or service can be installed like below.
Install Telnet Server For Ubuntu, Debian, Mint, Kali:
$ sudo apt install telnetd
Install Telnet Server For Fedora, CentOS, RHEL:
$ sudo dnf install telnetdInstall telnet Command
The telnet command can be installed by using the apt or dnf package managers for the related Linux distributions.
Install Telnet For Ubuntu, Debian, Mint, Kali:
$ sudo apt install telnetInstall Telnet For Fedora, CentOS, RHEL:
$ sudo dnf install telnetWarning Telnet Is Not Secure
Before starting the tutorial we want to explain that the telnet protocol is not secure by default. The telnet connection is a clear text connection where the telnet traffic is not encrypted and can be easily sniffed. Also, telnet does not provide remote service verification like SSH. Even it is not secure by default some steps can be taken in order to make it secure like using SSL/TLS tunnels.
NOTES
In “old line by line” mode or
LINEMODE
the terminal’s
eof
character is only recognized (and sent to the remote system)
when it is the first character on a line.
Source routing is not supported yet for IPv6.
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- ENVIRONMENT
- FILES
- HISTORY
- NOTES
ENVIRONMENT
telnet
HOME
SHELL
DISPLAY
TERM
TELNET ENVIRON
DESCRIPTION
telnet
TELNET
telnet
host
telnet>
open
- -7
- Strip 8th bit on input and output. Telnet is 8-bit clean by default but doesn’t send the TELNET BINARY option unless forced.
- -8
- Specifies an 8-bit data path.
This causes an attempt to negotiate the
TELNET BINARYoption on both input and output.
- -E
- Stops any character from being recognized as an escape character.
- -F
- If Kerberos V5 authentication is being used, the
–Foption allows the local credentials to be forwarded
to the remote system, including any credentials that
have already been forwarded into the local environment. - -K
- Specifies no automatic login to the remote system.
- -L
- Specifies an 8-bit data path on output.
This causes the BINARY option to be negotiated on output. - -X atype
- Disables the
atypetype of authentication.
- -a
- Attempt automatic login.
Currently, this sends the user name via the
USERvariable
of the
ENVIRONoption if supported by the remote system.
The name used is that of the current user as returned by
getlogin(2)if it agrees with the current user ID,
otherwise it is the name associated with the user ID. - -b hostalias
- Uses
bind(2)on the local socket to bind it to an aliased address (see
ifconfig(8)and the “alias” specifier) or to the address of
another interface than the one naturally chosen by
connect(2).This can be useful when connecting to services which use IP addresses
for authentication and reconfiguration of the server is undesirable (or
impossible). - -c
- Disables the reading of the user’s
.telnetrcfile.
(See the
toggle skiprccommand on this man page.)
- -d
- Sets the initial value of the
debugtoggle to
TRUE - -e escapechar
- Sets the initial
telnetescape character to
escapecharIf
escapecharis omitted, then
there will be no escape character. - -f
- If Kerberos V5 authentication is being used, the
–foption allows the local credentials to be forwarded to the remote system.
- -k realm
- If Kerberos authentication is being used, the
–koption requests that
telnetobtain tickets for the remote host in
realm
realminstead of the remote host’s realm, as determined
by
krb_realmofhost3. - -l user
- When connecting to the remote system, if the remote system
understands the
ENVIRONoption, then
userwill be sent to the remote system as the value for the variable USER.
This option implies the
–aoption.
This option may also be used with the
opencommand.
- -n tracefile
- Opens
tracefilefor recording trace information.
See the
set tracefilecommand below.
- -r
- Specifies a user interface similar to
rlogin(1).#include <this>
mode, the escape character is set to the tilde (~) character,
unless modified by the
–eoption.
- -x
- Turns on encryption of the data stream if possible.
- host
- Indicates the official name, an alias, or the Internet address
of a remote host. - port
- Indicates a port number (address of an application).
If a number is not specified, the default
telnetport is used.
Once a connection has been opened,
telnet
will attempt to enable the
TELNET LINEMODE
option.
If this fails,
telnet
will revert to one of two input modes:
either “character at a time”
or “old line by line”
depending on what the remote system supports.
In “character at a time” mode, most
text typed is immediately sent to the remote host for processing.
- auth argument […
]
- The
authcommand manipulates the information sent through the
TELNET AUTHENTICATEoption.
Valid arguments for the
authcommand are as follows:
- disable type
- Disables the specified
typeof authentication.
To obtain a list of available types, use the
auth disable ?command.
- enable type
- Enables the specified
typeof authentication.
To obtain a list of available types, use the
auth enable ?command.
- status
- Lists the current status of the various types of
authentication.
- close
- Close a
TELNETsession and return to command mode.
- display argument […
]
- Displays all, or some, of the
setand
togglevalues (see below).
- encrypt argument […
]
- The
encryptcommand manipulates the information sent through the
TELNET ENCRYPToption.
- disable type [input|output]
- Disables the specified
typeof encryption.
If you omit
inputand
outputboth input and output
are disabled.
To obtain a list of available types, use the
encrypt disable ?command.
- enable type [input|output]
- Enables the specified
typeof encryption.
If you omit
inputand
outputboth input and output are
enabled.
To obtain a list of available types, use the
encrypt enable ?command.
- input
- This is the same as the
encrypt start inputcommand.
- -input
- This is the same as the
encrypt stop inputcommand.
- output
- This is the same as the
encrypt start outputcommand.
- -output
- This is the same as the
encrypt stop outputcommand.
- start [input|output]
- Attempts to start encryption.
If you omit
inputand
outputboth input and output are enabled.
To obtain a list of available types, use the
encrypt enable ?command.
- status
- Lists the current status of encryption.
- stop [input|output]
- Stops encryption.
If you omit
inputand
outputencryption is on both input and output.
- type type
- Sets the default type of encryption to be used
with later
encrypt startor
encrypt stopcommands.
- environ arguments […
]
- The
environcommand is used to manipulate the
variables that may be sent through the
TELNET ENVIRONoption.
The initial set of variables is taken from the users
environment, with only the
DISPLAYand
PRINTERvariables being exported by default.
The
USERvariable is also exported if the
–aor
–loptions are used.
Valid arguments for the
environcommand are:
- define variable value
- Define the variable
variableto have a value of
valueAny variables defined by this command are automatically exported.
The
valuemay be enclosed in single or double quotes so
that tabs and spaces may be included. - undefine variable
- Remove
variablefrom the list of environment variables.
- export variable
- Mark the variable
variableto be exported to the remote side.
- unexport variable
- Mark the variable
variableto not be exported unless
explicitly asked for by the remote side. - list
- List the current set of environment variables.
Those marked with a
*will be sent automatically,
other variables will only be sent if explicitly requested. - ?
- Prints out help information for the
environcommand.
- logout
- Sends the
TELNET LOGOUToption to the remote side.
This command is similar to a
closecommand; however, if the remote side does not support the
LOGOUToption, nothing happens.
If, however, the remote side does support the
LOGOUToption, this command should cause the remote side to close the
TELNETconnection.
If the remote side also supports the concept of
suspending a user’s session for later reattachment,
the logout argument indicates that you
should terminate the session immediately. - mode type
- type
is one of several options, depending on the state of the
TELNETsession.
The remote host is asked for permission to go into the requested mode.
If the remote host is capable of entering that mode, the requested
mode will be entered.- character
- Disable the
TELNET LINEMODEoption, or, if the remote side does not understand the
LINEMODEoption, then enter “character at a time” mode.
- line
- Enable the
TELNET LINEMODEoption, or, if the remote side does not understand the
LINEMODEoption, then attempt to enter “old-line-by-line” mode.
- isig (-isig
)
- Attempt to enable (disable) the
TRAPSIGmode of the
LINEMODEoption.
This requires that the
LINEMODEoption be enabled.
- edit (-edit
)
- Attempt to enable (disable) the
EDITmode of the
LINEMODEoption.
This requires that the
LINEMODEoption be enabled.
- softtabs (-softtabs
)
- Attempt to enable (disable) the
SOFT_TABmode of the
LINEMODEoption.
This requires that the
LINEMODEoption be enabled.
- litecho (-litecho
)
- Attempt to enable (disable) the
LIT_ECHOmode of the
LINEMODEoption.
This requires that the
LINEMODEoption be enabled.
- ?
- Prints out help information for the
modecommand.
open host
[-l user] [[-
]
port ]
- Open a connection to the named host.
If no port number
is specified,
telnetwill attempt to contact a
TELNETserver at the default port.
The host specification may be either a host name (see
hosts(5))or an Internet address specified in the “dot notation” (see
inet(3)).The
–loption may be used to specify the user name
to be passed to the remote system via the
ENVIRONoption.
When connecting to a non-standard port,
telnetomits any automatic initiation of
TELNEToptions.
When the port number is preceded by a minus sign,
the initial option negotiation is done.
After establishing a connection, the file
.telnetrcin the
user’s home directory is opened.
Lines beginning with a “#” are
comment lines.
Blank lines are ignored.
Lines that begin
without whitespace are the start of a machine entry.
The first thing on the line is the name of the machine that is
being connected to.
The rest of the line, and successive
lines that begin with whitespace are assumed to be
telnetcommands and are processed as if they had been typed
in manually to the
telnetcommand prompt.
- quit
- Close any open
TELNETsession and exit
telnetAn end-of-file (in command mode) will also close a session and exit.
- send arguments
- Sends one or more special character sequences to the remote host.
The following are the arguments which may be specified
(more than one argument may be specified at a time):- abort
- Sends the
TELNET ABORT(Abort
processes)
sequence. - ao
- Sends the
TELNET AO(Abort Output) sequence, which should cause the remote system to flush
all output
fromthe remote system
tothe user’s terminal.
- ayt
- Sends the
TELNET AYT(Are You There)
sequence, to which the remote system may or may not choose to respond. - brk
- Sends the
TELNET BRK(Break) sequence, which may have significance to the remote
system. - ec
- Sends the
TELNET EC(Erase Character)
sequence, which should cause the remote system to erase the last character
entered. - el
- Sends the
TELNET EL(Erase Line)
sequence, which should cause the remote system to erase the line currently
being entered. - eof
- Sends the
TELNET EOF(End Of File)
sequence. - eor
- Sends the
TELNET EOR(End of Record)
sequence. - escape
- Sends the current
telnetescape character (initially “^]”).
- ga
- Sends the
TELNET GA(Go Ahead)
sequence, which likely has no significance to the remote system. - getstatus
- If the remote side supports the
TELNET STATUScommand,
getstatuswill send the subnegotiation to request that the server send
its current option status. - ip
- Sends the
TELNET IP(Interrupt Process) sequence, which should cause the remote
system to abort the currently running process. - nop
- Sends the
TELNET NOP(No OPeration)
sequence. - susp
- Sends the
TELNET SUSP(SUSPend process)
sequence. - synch
- Sends the
TELNET SYNCHsequence.
This sequence causes the remote system to discard all previously typed
(but not yet read) input.
This sequence is sent as
TCPurgent
data (and may not work if the remote system is a
BSD 4.2
system — if
it doesn’t work, a lower case “r” may be echoed on the terminal). - do cmd
- Sends the
TELNET DOcmd
sequence.
cmdcan be either a decimal number between 0 and 255,
or a symbolic name for a specific
TELNETcommand.
cmdcan also be either
helpor
?to print out help information, including
a list of known symbolic names. - dont cmd
- Sends the
TELNET DONTcmd
sequence.
cmdcan be either a decimal number between 0 and 255,
or a symbolic name for a specific
TELNETcommand.
cmdcan also be either
helpor
?to print out help information, including
a list of known symbolic names. - will cmd
- Sends the
TELNET WILLcmd
sequence.
cmdcan be either a decimal number between 0 and 255,
or a symbolic name for a specific
TELNETcommand.
cmdcan also be either
helpor
?to print out help information, including
a list of known symbolic names. - wont cmd
- Sends the
TELNET WONTcmd
sequence.
cmdcan be either a decimal number between 0 and 255,
or a symbolic name for a specific
TELNETcommand.
cmdcan also be either
helpor
?to print out help information, including
a list of known symbolic names. - ?
- Prints out help information for the
sendcommand.
- set argument value
- unset argument value
- The
setcommand will set any one of a number of
telnetvariables to a specific value or to
TRUEThe special value
offturns off the function associated with
the variable; this is equivalent to using the
unsetcommand.
The
unsetcommand will disable or set to
FALSEany of the specified functions.
The values of variables may be interrogated with the
displaycommand.
The variables which may be set or unset, but not toggled, are
listed here.
In addition, any of the variables for the
togglecommand may be explicitly set or unset using
the
setand
unsetcommands.
- ayt
- If
TELNETis in
localcharsmode, or
LINEMODEis enabled, and the status character is typed, a
TELNET AYTsequence (see
send aytpreceding) is sent to the
remote host.
The initial value for the “Are You There”
character is the terminal’s status character. - echo
- This is the value (initially “^E”) which, when in
“line by line” mode, toggles between doing local echoing
of entered characters (for normal processing), and suppressing
echoing of entered characters (for entering, say, a password). - eof
- If
telnetis operating in
LINEMODEor “old line by line” mode, entering this character
as the first character on a line will cause this character to be
sent to the remote system.
The initial value of the
eofcharacter is taken to be the terminal’s
eofcharacter.
- erase
- If
telnetis in
localcharsmode (see
togglelocalchars
below),
and if
telnetis operating in “character at a time” mode, then when this
character is typed, a
TELNET ECsequence (see
sendec
above)
is sent to the remote system.
The initial value for the
erasecharacter is taken to be
the terminal’s
erasecharacter.
- escape
- This is the
telnetescape character (initially “^[”) which causes entry
into
telnetcommand mode (when connected to a remote system).
- flushoutput
- If
telnetis in
localcharsmode (see
togglelocalchars
below)
and the
flushoutputcharacter is typed, a
TELNET AOsequence (see
sendao
above)
is sent to the remote host.
The initial value for the
flushcharacter is taken to be
the terminal’s
flushcharacter.
- forw1
- forw2
- If
TELNETis operating in
LINEMODEthese are the
characters that, when typed, cause partial lines to be
forwarded to the remote system.
The initial value for
the forwarding characters are taken from the terminal’s
eol and eol2 characters. - interrupt
- If
telnetis in
localcharsmode (see
togglelocalchars
below)
and the
interruptcharacter is typed, a
TELNET IPsequence (see
sendip
above)
is sent to the remote host.
The initial value for the
interruptcharacter is taken to be
the terminal’s
intrcharacter.
- kill
- If
telnetis in
localcharsmode (see
togglelocalchars
below),
and if
telnetis operating in “character at a time” mode, then when this
character is typed, a
TELNET ELsequence (see
sendel
above)
is sent to the remote system.
The initial value for the
killcharacter is taken to be
the terminal’s
killcharacter.
- lnext
- If
telnetis operating in
LINEMODEor “old line by line” mode, then this character is taken to
be the terminal’s
lnextcharacter.
The initial value for the
lnextcharacter is taken to be
the terminal’s
lnextcharacter.
- quit
- If
telnetis in
localcharsmode (see
togglelocalchars
below)
and the
quitcharacter is typed, a
TELNET BRKsequence (see
sendbrk
above)
is sent to the remote host.
The initial value for the
quitcharacter is taken to be
the terminal’s
quitcharacter.
- reprint
- If
telnetis operating in
LINEMODEor old line by line” mode, then this character is taken to
be the terminal’s
reprintcharacter.
The initial value for the
reprintcharacter is taken to be
the terminal’s
reprintcharacter.
- rlogin
- This is the rlogin escape character.
If set, the normal
TELNETescape character is ignored unless it is
preceded by this character at the beginning of a line.
This character, at the beginning of a line, followed by
a “.” closes the connection; when followed by a ^Z it
suspends the
telnetcommand.
The initial state is to
disable the
rloginescape character.
- start
- If the
TELNET TOGGLE-FLOW-CONTROLoption has been enabled,
then this character is taken to
be the terminal’s
startcharacter.
The initial value for the
startcharacter is taken to be
the terminal’s
startcharacter.
- stop
- If the
TELNET TOGGLE-FLOW-CONTROLoption has been enabled,
then this character is taken to
be the terminal’s
stopcharacter.
The initial value for the
stopcharacter is taken to be
the terminal’s
stopcharacter.
- susp
- If
telnetis in
localcharsmode, or
LINEMODEis enabled, and the
suspendcharacter is typed, a
TELNET SUSPsequence (see
sendsusp
above)
is sent to the remote host.
The initial value for the
suspendcharacter is taken to be
the terminal’s
suspendcharacter.
- tracefile
- This is the file to which the output, caused by
netdataor
optiontracing being
TRUEwill be written.
If it is set to
“-”
then tracing information will be written to standard output (the default).
- worderase
- If
telnetis operating in
LINEMODEor “old line by line” mode, then this character is taken to
be the terminal’s
worderasecharacter.
The initial value for the
worderasecharacter is taken to be
the terminal’s
worderasecharacter.
- ?
- Displays the legal
set(unset
)
commands.
- skey sequence challenge
- The
skeycommand computes a response to the S/Key challenge.
See
skey(1)for more information on the S/Key system.
- slc state
- The
slccommand (Set Local Characters) is used to set
or change the state of the special
characters when the
TELNET LINEMODEoption has
been enabled.
Special characters are characters that get mapped to
TELNETcommands sequences (like
ipor
quitor line editing characters (like
eraseand
kill )By default, the local special characters are exported.
- check
- Verify the current settings for the current special characters.
The remote side is requested to send all the current special
character settings, and if there are any discrepancies with
the local side, the local side will switch to the remote value. - export
- Switch to the local defaults for the special characters.
The local default characters are those of the local terminal at
the time when
telnetwas started.
- import
- Switch to the remote defaults for the special characters.
The remote default characters are those of the remote system
at the time when the
TELNETconnection was established.
- ?
- Prints out help information for the
slccommand.
- status
- Show the current status of
telnetThis includes the peer one is connected to, as well
as the current mode. - toggle arguments […
]
- Toggle (between
TRUEand
FALSEvarious flags that control how
telnetresponds to events.
These flags may be set explicitly to
TRUEor
FALSEusing the
setand
unsetcommands listed above.
More than one argument may be specified.
The state of these flags may be interrogated with the
displaycommand.
Valid arguments are:- authdebug
- Turns on debugging information for the authentication code.
- autoflush
- If
autoflushand
localcharsare both
TRUEthen when the
aoor
quitcharacters are recognized (and transformed into
TELNETsequences; see
setabove for details),
telnetrefuses to display any data on the user’s terminal
until the remote system acknowledges (via a
TELNET TIMING MARKoption)
that it has processed those
TELNETsequences.
The initial value for this toggle is
TRUEif the terminal user had not
done an “stty noflsh”, otherwise
FALSE(see
stty(1)). - autodecrypt
- When the
TELNET ENCRYPToption is negotiated, by
default the actual encryption (decryption) of the data
stream does not start automatically.
The
autoencrypt(autodecrypt
)
command states that encryption of the
output (input) stream should be enabled as soon as
possible. - autologin
- If the remote side supports the
TELNET AUTHENTICATIONoption
TELNETattempts to use it to perform automatic authentication.
If the
AUTHENTICATIONoption is not supported, the user’s login
name are propagated through the
TELNET ENVIRONoption.
This command is the same as specifying
aoption on the
opencommand.
- autosynch
- If
autosynchand
localcharsare both
TRUEthen when either the
intror
quitcharacter is typed (see
setabove for descriptions of the
intrand
quitcharacters), the resulting
TELNETsequence sent is followed by the
TELNET SYNCHsequence.
This procedure
shouldcause the remote system to begin throwing away all previously
typed input until both of the
TELNETsequences have been read and acted upon.
The initial value of this toggle is
FALSE - binary
- Enable or disable the
TELNET BINARYoption on both input and output.
- inbinary
- Enable or disable the
TELNET BINARYoption on input.
- outbinary
- Enable or disable the
TELNET BINARYoption on output.
- crlf
- If this is
TRUEthen carriage returns will be sent as
<CR><LF>If this is
FALSEthen carriage returns will be send as
<CR><NUL>The initial value for this toggle is
FALSE - crmod
- Toggle carriage return mode.
When this mode is enabled, most carriage return characters received from
the remote host will be mapped into a carriage return followed by
a line feed.
This mode does not affect those characters typed by the user, only
those received from the remote host.
This mode is not very useful unless the remote host
only sends carriage return, but never line feeds.
The initial value for this toggle is
FALSE - debug
- Toggles socket level debugging (useful only to the superuser).
The initial value for this toggle is
FALSE - encdebug
- Turns on debugging information for the encryption code.
- localchars
- If this is
TRUEthen the
flushinterrupt
quit
erase
and
killcharacters (see
setabove) are recognized locally, and transformed into (hopefully) appropriate
TELNETcontrol sequences
(respectively
aoip
brk
ec
and
elsee
sendabove).
The initial value for this toggle is
TRUEin “old line by line” mode,
and
FALSEin “character at a time” mode.
When the
LINEMODEoption is enabled, the value of
localcharsis ignored, and assumed to always be
TRUEIf
LINEMODEhas ever been enabled, then
quitis sent as
abortand
eofand
suspendare sent as
eofand
susp(see
sendabove).
- netdata
- Toggles the display of all network data (in hexadecimal format).
The initial value for this toggle is
FALSE - options
- Toggles the display of some internal
telnetprotocol processing (having to do with
TELNEToptions).
The initial value for this toggle is
FALSE - prettydump
- When the
netdatatoggle is enabled, if
prettydumpis enabled the output from the
netdatacommand will be formatted in a more user readable format.
Spaces are put between each character in the output, and the
beginning of any
TELNETescape sequence is preceded by a ‘*’ to aid in locating them.
- skiprc
- When the skiprc toggle is
TRUETELNET
skips the reading of the
.telnetrcfile in the user’s home
directory when connections are opened.
The initial value for this toggle is
FALSE - termdata
- Toggles the display of all terminal data (in hexadecimal format).
The initial value for this toggle is
FALSE - verbose_encrypt
- When the
verbose_encrypttoggle is
TRUEtelnet
prints out a message each time encryption is enabled or
disabled.
The initial value for this toggle is
FALSE - ?
- Displays the legal
togglecommands.
- z
- Suspend
telnetThis command only works when the user is using the
csh(1). - ! [command
]
- Execute a single command in a subshell on the local
system.
If
commandis omitted, then an interactive
subshell is invoked. - ? [command
]
- Get help.
With no arguments,
telnetprints a help summary.
If a command is specified,
telnetwill print the help information for just that command.
Close/Logout Telnet Connection
A telnet connection can be closed or exited or logout with the close command like below.
close

