Команди Telnet. Що таке Telnet і як користуватися утилітою

Протокол прикладного рівня TELNET (від англ. TE rmina L NET work) - мережевий протокол для реалізації текстового інтерфейсу через мережу. Назва telnetотримали також клієнтські програми реалізації цього протоколу, практично всім існуючих операційних систем. Протокол Telnet – один із найстаріших мережевих протоколів, які розроблялися як зв'язок між віддаленими терміналами в тестовому режимі. Тому в ньому не передбачено шифрування даних та використання сучасних засобів автентифікації. Протокол вразливий для безлічі мережевих атак, і не може використовуватися як засіб управління мережевими операційними системами. В даний час для віддаленого доступу до системи застосовується мережевий протокол SSH (Secure SHell), при створенні якого упор робився саме на питання безпеки. Відносна безпека сесій Telnet здійснюється лише у повністю контрольованому мережевому середовищі або із застосуванням захисту на мережевому рівні (різні реалізації VPN – віртуальних приватних мереж). Тим не менш, TELNET, як і раніше, застосовується для управління спеціалізованими мережевими пристроями (комутаторами, роутерами тощо), а також для мережної діагностики, виконання налагодження та вивчення інших текст-орієнтованих (telnet-like) протоколів на основі транспорту TCP. Сучасний стандарт протоколу Telnet описаний у RFC 854.

У сучасних ОС сімейства Windows, утиліта telnet.exeза замовчуванням не встановлюється. Для її встановлення потрібно перейти до Панель керування - Програми та Компоненти – Увімкнення або вимкнення компонентів Windowsі встановити галочку для Клієнт Telnet. Або в командному рядку, запущеному від імені адміністратора, виконати команду:

pkgmgr /iu:"TelnetClient"

Формат командного рядка:

telnet [-a][-e Символ][-f Файл][-l Ім'я][-t Тип][Вузол [Порт]]

Параметри командного рядка:

-lІм'я користувача для входу до віддаленої системи за умови, що підтримується параметр TELNET ENVIRON.

-aСпроба автоматичного входу до системи. Як і ключ -l, але використовує поточне ім'я користувача, під яким виконано вхід до системи.

-eСлужбовий символ перемикання режиму введення у вікні telnet-клієнта.

-fІм'я файлу журналу на стороні клієнта. У російськомовної довідці цей параметр неправильно трактується як Файл_входа - “Ім'я файлу із боку клієнта до виконання входу у систему”.

-tТип telnet-терміналу. Підтримуються 4 типи терміналів: vt100, vt52, ansi та vtnt.

ВузолІм'я вузла або IP-адресу віддаленого комп'ютера, до якого підключено. ПортНомер порту або ім'я служби. Якщо номер не заданий, використовується стандартний порт Telnet 23\TCP

При запуску без параметрів утиліта переходить в режим очікування введення команд:

Ласкаво просимо у програму-клієнт Microsoft Telnet

Microsoft Telnet>

При введенні символу ? або helpвідображається довідкова інвормація:

Команди можуть бути скорочені. Підтримуваними командами є:

c - close- Закрити поточне підключення

d - display- Відобразити параметри операції

o - open ім'я_вузла [Порт]- підключитися до сайту (за замовчуванням, Порт = 23)

q - quit- вийти з telnet

set - set- встановити параметри ("set?" для виведення списку)

sen - send- надіслати рядки на сервер

st - status- Вивести відомості про поточний стан

u - unset- скинути параметри ("unset?" для виведення їх списку)

? /h - help- Вивести довідку

Деякі з команд дозволяють отримати підказку щодо використання при введенні із символом питання:

Telnet> set?- отримати підказку щодо використання команди установки режимів. Приклад відображуваної інформації:

bsasdel- Символ BackSpace Delete

crlf- Режим повернення каретки; призводить до надсилання символів CR & LF

delasbs- Символ Deleteбуде відправлятися як символ BackSpace

escape xде x - символ перемикання в режим telnet-терміналу і назад

localecho- Включення локального луни.

logfile x- де x – файл журналу. У російському перекладі неправильно трактується як "Файл входу поточного клієнта до системи"

logging- Запис поточної сесії в журнал. У російському перекладі неправильно сприймається як "виконання входу в систему"

mode x- де x = console - консольний режим, що використовується для роботи з віконними програмами (редактор vi) і x = stream - потоковий режим, що використовується для роботи в командному рядку.

ntlm- Увімкнення автентифікації NTLM.

term x- Тип емульованого терміналу. Де x - ansi, vt100, vt52, чи vtnt.

Для отримання підказки щодо скасування встановлених параметрів використовується команда

Microsoft Telnet> unset?

bsasdel- Символ BackSpaceбуде відправлятися як символ Delete

crlf- режим переведення рядка; призводить до надсилання символу CR

delasbs- Символ Deleteбуде відправлятися як символ Backspace

escape- символ перемикання в режим telnet-терміналу та назад не заданий

localecho- відключення локальної луни

logging- Вимкнення запису журналу. У російськомовній весії неправильно трактується як "відключення виконання входу до системи"

ntlm- Вимкнення автентифікації NTLM.

Приклади команд в інтерактивному режимі:

open 192.168.0.1- підключитися до сервера Telnet з IP-адресою 192.168.0.1

o zte-f660- підключитися до Telnet-сервера з ім'ям zte-f660. Використовується скорочення команди o pen

set logfile C:\telnet.log- використовувати як файл журналу C:\telnet.log

set logging- Виконувати запис поточної сесії у файл журналу.

display- Відобразити параметри поточної сесії. Приклад відображуваної інформації:

Символ перемикання режиму: "CTRL+]"

Перевірка автентичності NTLM - включена

Висновок локальної луни - відключено

Режим нового рядка - Символ ВВЕДЕННЯбуде відправлятися як CR & LF

Поточний режим: Поточний

РЕЖИМ ТЕРМІНАЛУ

Переважний тип терміналу ANSI

    На практиці, утиліта telnet.exeвикористовується як засіб діагностики та налагодження для підключення не тільки до сервера Telnet на TCP порт 23, але і на будь-який інший TCP-порт, тим самим дозволяючи взаємодіяти з будь-яким додатком, керованим командним рядком. Так, наприклад, з використанням утиліти telnetможна підключитися до серверів, що підтримують текстове (telnet-like) введення команд та даних - SMTP, POP3, IMAP тощо. Крім цього, утиліту можна використовувати як засіб грубої перевірки можливості підключення на будь-який TCP-порт (перевірки чи слухається певний порт TCP).

telnet 192.168.1.1 8080- підключитися до вузла 192.168.1.1 на порт 8080. У випадках, коли порт закрито, утиліта повідомить про неможливість підключення. Причому для перевірки доступності певного порту навіть необов'язково, щоб він слухався службою з підтримкою текстового введення, наприклад сервер VNC. Для відключення від віддаленого сервера необхідно ввести символ перемикання режиму (за замовчуванням - CTRL+]).

Утиліту telnet.exe можна використовувати, наприклад, для обміну з поштовим сервером за протоколом POP3(Post Office Protocol ver. 3). Цей протокол використовується поштовими клієнтськими програмами (Outlook, Outlook Express, The Bat тощо) для отримання електронної пошти, що зберігається у поштовій скриньці користувача. Це найпростіший протокол, основу якого лежить обмін текстовими повідомленнями. З метою вивчення взаємодії поштового клієнта з поштовим сервером можна реалізувати сеанс підключення за допомогою TELNET.

Стандартно сервер POP3 очікує вхідні з'єднання протоколу TCP на порт 110 ( " слухає " порт tcp/110). Команда telnet для підключення до сервера, наприклад, pop.mail.ru

telnet pop.mail.ru 110

Якщо сервер працездатний, у вікні telnet з'явиться його запрошення

+OK mPOP POP3 v1.1

user [email protected]

Після цього сервер запропонує ввести пароль:

OK Password required for user [email protected]

Потрібно ввести пароль

pass VasinPass

Сервер повідомить результат перевірки пароля:

Можна запросити список листів директивою list:

list

У відповідь на це сервер видасть список та розміри листів у поштовій скриньці:

OK 10 місяців (152527 octets)
1 48628       1-це порядковий номер, 48628 - розмір
2 1829
3 2070
:

При необхідності можна переглянути заголовки листів. Для цього використовується команда top порядковий номер, пробіл, число рядків із тіла повідомлення

top 2 0

У відповідь на це, ви побачите заголовок листа, що містить службову інформацію про відправника, дату відправки, зворотну адресу та деякі інші дані:

Received: from (HELO mx1.ks.pochta.ru) by node7-1.ks.pochta.ru with QIP.RU LMTP
for [email protected];
Fri, 08 Apr 2011 15:18:33 +0400
Received: from mx3.softkey.ru ()
: :

Для прийому листів використовується директива retr порядковий номер

retr 2 - прийняти листа з порядковим номером 2

Для видалення листа використовується директива dele порядковий номерНаприклад, для видалення 2-го листа зі списку, отриманого директивою list:

Якщо видалення пройшло успішно, сервер видасть повідомлення:

OK message 2 deleted

Іноді команду TELNET можна використовувати і для ідентифікації служби, яка слухає вказаний порт, оскільки багато хто з них при підключенні відображає свій банер або специфічну службову інформацію. Наприклад, привітання FTP-сервера: 220-FileZilla Server version 0.9.43 beta

220-written by Tim Kosse ( [email protected])

220 Please visit http://sourceforge.net/projects/filezilla/

А так виглядає екран при підключенні до сервера RealVNC:

RFB 003.008

Як ви вже могли переконатися, якщо читали мій пост про налаштування Telnet у Windows, працювати з цією службою досить легко. Можна запустити його без аргументів, вказавши у командному рядку лише адресу хост-системи. За певних обставин ще треба зазначити конкретний порт. Перше повідомлення, яке бачить користувач, після виконання команди "telnet", надсилається самою програмою, а після встановлення зв'язку між клієнтом та сервером виводяться повідомлення, що виходять від керованої системи. У зв'язку з цим із віддаленою операційною системою можна працювати через Telnet так само, як це відбувається у випадках з іншими спеціалізованими програмами дистанційного доступу до ОС. Тепер давайте придивимося до цієї служби ближче і розберемо найчастіше використовувані команди Telnet.

Командний рядок Telnet на клієнті з Windows може приймати такі команди:

open вузол порт – застосовується для встановлення з'єднання із заданим вузлом;

close - закриває існуюче з'єднання;

quit – вихід із поточного сеансу Telnet;

display – дозволяє переглянути поточні параметри Telnet-клієнта;

set – з її допомогою можливо задати Telnet-параметри поточної сесії, А саме:

  • set ntlm увімкне NTLM (використання інтегрованої в Telnet перевірки автентичності NTLM під час підключення користувача з віддаленого комп'ютера дозволяє обійтися без введення логіну та пароля при вході);
  • set localecho включить режим локального виведення команд;
  • set term vt100/vt52/vtnt/ansi задасть зазначений тип терміналу (наприклад, VT100 застосовують для виконання звичайних програм командного рядка, а VTNT – для виконання розширених програм типу “edit”);
  • set escape символ задасть послідовність клавіш, що перемикають режим сеансу в командний режим (наприклад, set escape , потім натискання клавіш “Ctrl+P” і “Enter” встановить Ctrl+P як перемикача);
  • set logfile ім'я_файлу вкаже на файл журналу поточної активності Telnet (цей файл повинен перебувати у файловій системі комп'ютера, що управляє);
  • set logging увімкне ведення журналу (файл журналу має бути попередньо вказаний вищенаведеною командою, інакше виникне повідомлення з помилкою);

unset - виконує відключення різних параметрів сесії Telnet(Зворотні операції по відношенню до set), а саме:

  • unset ntlm відключить вбудовану автентифікацію;
  • unset localecho деактивує режим локального виведення команд;

status – використовується для перевірки наявності підключення до Telnet-клієнту;

enter – застосовується для переходу до існуючого підключеного сеансу Telnet;

Або help – відображення довідкової інформації.

Закінчивши справи на віддаленій машині, вам потрібно буде закрити з'єднання з нею. При цьому робота самого Telnet завершується не завжди. Щоб вийти в командний рядок Telnet, скористайтеся кнопками “Ctrl+]”..

Не всі користувачі комп'ютерів знають про наявність прихованих служб, які дають змогу виконувати різні операції без використання спеціального програмного забезпечення. В операційних системах Windows та Linux є служба Telnet. У цьому матеріалі буде детально розглянуто призначення служби, команди, можливості та як з нею правильно працювати.

Що таке Telnet

Telnet – це засіб зв'язку, що встановлюється між термінальними пристроями. Приклад такого зв'язку досить простий: персональний комп'ютер та сервер, який підтримує такий тип з'єднання. Телнет не є будь-яким програмним забезпеченням, це протокол зв'язку. Але слід зазначити, що є деякі утиліти, які працюють за допомогою протоколу «terminalnetwork».

У недавньому минулому Телнет був одним із основних способів підключення до мережі. Зараз утиліта практично не використовується. На сьогоднішній день в операційні системи встановлені більш досконалі протоколи, за винятком будь-яких додаткових дій від користувача.

Цей протокол зв'язку використовується у деяких операціях:

  • підключеннядо віддаленого робочого столу;
  • перевіркапортів на можливість підключення;
  • використанняпрограмне забезпечення, яке доступне лише на віддалених машинах;
  • застосування системних каталогівякі можуть бути відкриті тільки з використанням цього типу протоколу;
  • відправкаелектронної пошти без використання додаткового програмного забезпечення;
  • користувачі, використовуючи цей протокол дозволяє іншим користувачам отримати доступдо свого персонального комп'ютера.

Встановлення та запуск

Завантажувати утиліту не потрібно, Telnet вбудований у Windows 7/8/10 за промовчанням.

Інструкція з встановлення та запуску:

Для того, щоб запустити клієнт, потрібно відкрити командний рядок:

Пропонуємо ознайомитися з відео по установці Телнет у Windows:

Перевірка порту

Перевірка мережного порту на наявність доступу до нього персонального комп'ютера Telnet:

  • у вікні необхідно запровадити команду telnetip;
  • далі слідує ввестиIP адресакомп'ютера, наприклад, 192.168.1.1. Подивитися адресу можна у налаштуваннях мережного маршрутизатора;
  • наприкінці вводимо порт FTP "21". Таким чином, команда буде виглядати так: telnet 192.168.0.1 21;
  • після цього з'явиться повідомлення про помилку, якщо порт недоступний або з проханням ввести додаткові дані, якщо порт відкритий.

Команди Telnet

Команди утиліти є способом взаємодії із нею. Для відображення списку всіх команд, необхідно ввести "help". Далі детально розберемо основні команди:

  • "open" - запит дозволяє виконати підключеннядо віддаленого сервера;
  • «close» - переривання процесупідключення до віддаленого сервера;
  • "set" - налаштуванняпараметрів підключення до сервера;
  • «term» - запит призначений для вказівки типу терміналу;
  • "escape" - задає керуючий символ;
  • «mode» - вибір режиму роботи;
  • "unset" - скиданняраніше введених параметрів;
  • "start" - запусксервера;
  • «pause» - тимчасова зупинкароботи сервера;
  • «continue» продовження роботисервера після паузи;
  • "stop" - повне припинення роботисервера.

Telnet у Linux

Як і Віндовс, Телнет вбудований в операційну систему Linux. Раніше він використовувався як стандартний протокол Telnet, тепер на його місце прийшов більш покращений SSH. Як і з попередньої ОС, утиліта Linux використовується для перевірки портів, маршрутизаторів і т.д.

Розглянемо основні режими роботи:

  • « рядковий». Цей режим роботи є рекомендованим. У цьому випадку редагування запиту здійснюється на локальному ПК і відправляється на сервер лише в тому випадку, коли він готовий;
  • « посимвольний». Кожен набраний символ у вікні консолі відправляється на віддалений сервер. Тут не можна здійснити редагування тексту. При видаленні символу за допомогою Backspace, він теж буде відправлений на сервер.

Базові команди в Linux:

  • "close" - переривання підключення;
  • "encrypt" - включення шифрування;
  • «logout» - вимкнення утиліти та закриття з'єднання;
  • "mode" - вибір режиму роботи;
  • "status" - стан з'єднання;
  • "send" - відправка запиту телнет;
  • "set" - налаштування параметрів сервера;
  • "open" - підключення до віддаленого сервера;
  • "Display" - Відображення спеціальних символів.
  • у вікні консолі вводимо запит для перевірки доступності серверанаприклад, «telnet 192.168.1.243»;
  • далі перевіримо доступ до порту шляхом введення запиту "telnet localhost 122" та "telnet localhost 21". На екрані консолі з'явиться повідомлення про те, чи приймає з'єднання будь-який з портів;
  • приклад віддаленого керування за допомогою телнет. Для цього необхідно ввести у головному вікні запит "telnet localhost 23". "23" порт використовується за замовчуванням. Щоб зробити віддалене керування, необхідно встановити на локальний комп'ютер telnet-server. Після цього з'явиться повідомлення з вимогою введення логіну та пароля.

Недоліки Telnet

Головним недоліком даного протоколу є віддалене з'єднання без використання шифрування. Єдиним моментом безпеки є авторизація користувачів у сесії телнет. Проте логін і пароль також передаються в незашифрованому вигляді, тим самим доступ до них можна так чи інакше отримати. Настійно не рекомендується передавати будь-які важливі дані у локальних мережах.

Telnet– це мережна утиліта, яка дозволяє з'єднатися з віддаленим портом будь-якого комп'ютера та встановити інтерактивний канал зв'язку, наприклад, передачі команд або отримання інформації. Можна сказати, що це універсальний браузер у терміналі, який вміє працювати з безліччю мережевих протоколів.

Ця утиліта дуже часто використовувалася для віддаленого керування комп'ютером з Linux, але потім на заміну їй прийшов захищений протокол SSH. Але telnet все ще використовується, наприклад, для тестування мережі, перевірки портів, а також взаємодії з різними IoT пристроями і роутерами. У цій статті ми розглянемо, що таке telnet, а також як користуватися telnet для вирішення своїх завдань.

Що таке Telnet?

Як я вже сказав, ця утиліта призначена для створення інтерактивного з'єднання між віддаленими комп'ютерами. Вона працює за протоколом TELNET, але цей протокол підтримується багатьма сервісами, тому її можна використовувати для керування ними. Протокол працює на основі TCP і дозволяє передавати звичайні рядкові команди на інший пристрій. Він може використовуватися не тільки для ручного керування, але й для взаємодії між процесами.

Для роботи з цим протоколом ми використовуватимемо утиліту telnet, нею дуже просто користуватися. Давайте розглянемо синтаксис telnet:

$ telnet опції хост порт

Хост – це домен віддаленого комп'ютера, до якого слід підключитися, а порт – порт на цьому комп'ютері. А тепер давайте розглянемо основні опції:

  • -4 - Примусово використовувати адреси IPv4;
  • -6 - Примусово використовувати адреси IPv6;
  • -8 – використовувати 8-бітове кодування, наприклад Unicode;
  • -E– вимкнути підтримку Escape послідовностей;
  • -a– автоматичний вхід, що бере ім'я користувача зі змінної оточення USER;
  • -b- Використовувати локальний сокет;
  • -d– увімкнути режим налагодження;
  • - Режим емуляції rlogin;
  • -e– встановити символ початку Escape послідовності;
  • -l- Користувач для авторизації на віддаленій машині.

Це все, що стосується команди telnet для встановлення з'єднання. Але з'єднання з віддаленим хостом, це лише півсправи. Після встановлення підключення telnet може працювати у двох режимах:

  • Порядковий- це кращий режим, тут рядок тексту редагується на локальному комп'ютері і надсилається тільки тоді, коли він буде повністю готовий. На таку можливість є не завжди і не у всіх сервісів;
  • Посимвольний– всі символи, що набираються вами, відправляються на віддалений сервер. Тут буде складно щось виправити, якщо ви припустилися помилки, тому що Backspace теж буде відправлятися у вигляді символу і стрілки руху теж.

Використання telnet полягає у передачі спеціальних команд. Кожен сервіс має свої команди, але протокол має свої команди telnet, які можна застосовувати в консолі telnet.

  • CLOSE- Закрити з'єднання з сервером;
  • ENCRYPT- шифрувати всі передані дані;
  • LOGOUT– вийти та закрити з'єднання;
  • MODE– переключити режим, з рядкового на символьний або символьного на рядковий;
  • STATUS– переглянути статус з'єднання;
  • SEND– надіслати один із спеціальних символів telnet;
  • SET- Встановити значення параметра;
  • OPEN– встановити підключення через telnet із віддаленим вузлом;
  • DISPLAY- Відобразити використовувані спецсимволи;
  • SLC- Змінити використовувані спецсимволи.

Ми не розглядатимемо всі команди, оскільки вони вам навряд чи знадобляться, а якщо й знадобляться, то ви легко зможете їх знайти в офіційній документації.

Як користуватись telnet?

Далі ми розглянемо використання telnet для вирішення ваших завдань. Зазвичай утиліта вже встановлена ​​в більшості систем, але якщо це не так, то ви можете встановити telnet з офіційних репозиторіїв, наприклад, в Ubuntu:

$ sudo apt install telnet


Для цього не обов'язково застосовувати telnet, чи є ping.

2. Перевірка порту

За допомогою telnet ми можемо перевірити доступність порту на вузлі, а це може бути дуже корисним. Щоб перевірити порт telnet виконайте:

$ telnet localhost 123 $ telnet localhost 22

$ telnet localhost 123

$ telnet localhost 22


У першому випадку ми бачимо, що з'єднання ніхто не приймає, у другому ж виводиться повідомлення про успішне підключення та вітання SSH сервера.

3. Налагодження

Щоб увімкнути режим налагодження та виводити більш детальну інформацію під час роботи, використовуйте опцію -d під час підключення:

$ sudo telnet -d localhost 22

$ sudo telnet - d localhost 22

4. Консоль telnet

Використання консолі telnet теж важливий момент у розборі як користуватися telnet. В основному режимі ви можете виконувати команди, на віддаленому сервері, якщо ж ви хочете адресувати команду саме telnet, наприклад, для налаштування її роботи, необхідно використовувати спецсимвол для відкриття консолі, зазвичай утиліта відразу говорить вам, що це за символ, наприклад, за умовчанням використовується “^[“:


Для його активації вам потрібно натиснути клавіші Ctrl+[, потім ви введіть запрошення введення telnet.

Щоб подивитися всі доступні команди, ви можете набрати? Наприклад, ви можете переглянути статус підключення:

telnet> status

telnet > status


Тут є інші цікаві можливості. Такі речі можна робити за будь-якого підключення за допомогою утиліти telnet.

5. Переглянути сайт telnet

Один із найпоширеніших способів використання telnet – це тестування сайту з консолі. Так, красиву веб-сторінку ви не отримаєте, але можете зібрати запити вручну і бачити всі передані сервером дані.

$ telnet opennet.ru 80

$ telnet opennet. ru 80


Потім наберіть команду веб-сервера.



Подібні публікації