Топ питань
Часова шкала
Чат
Перспективи
Telnet
З Вікіпедії, вільної енциклопедії
Remove ads
Telnet (англ. TELetype NETwork) — мережевий протокол для реалізації текстового інтерфейсу по мережі (у сучасній формі — за допомогою транспорту TCP). Назву «Telnet» мають також деякі утиліти, що реалізують клієнтську частину протоколу.
Введення
Призначення протоколу TELNET у наданні достатньо спільного, двонаправленого, восьмибітного байт-орієнтованого засобу зв'язку. Його основне завдання полягає в тому, щоб дозволити термінальним пристроям і термінальним процесам взаємодіяти один з одним. Передбачається, що цей протокол може бути використаний для зв'язку виду термінал-термінал («зв'язування») або для зв'язку процес-процес («розподілені обчислення»).
Remove ads
Пристрій
Узагальнити
Перспектива
Хоча у сесії Telnet виділяють клієнтську і серверну сторону, протокол насправді повністю симетричний. Після встановлення транспортного з'єднання (як правило, TCP) обидва його кінці грають роль «мережевих віртуальних терміналів» (англ. Network Virtual Terminal, NVT), які обмінюються двома типами даних:
- Прикладними даними (тобто даними, які йдуть від користувача до текстового додатка на стороні сервера і назад);
- Командами протоколу Telnet, окремим випадком яких є опції, що служать для з'ясування можливостей і переваг сторін.
Хоча Telnet-сесії, що виконується по TCP, властивий повний дуплекс, NVT повинен розглядатися як напівдуплексний пристрій, що працює за замовчуванням у буферизованому рядковому режимі.
Прикладні дані проходять через протокол без змін. Дані можуть зазнавати змін (наприклад може бути скинутий старший біт) у разі, якщо на вхід одного терміналу надійшли дані, допустимість приймання яких не була підтверджена з іншого боку, тобто на виході другого віртуального термінала ми бачимо саме те, що було введено на вхід першого. З погляду протоколу - дані представляють просто послідовність байтів (октетів), за замовчуванням належать набору ASCII, але при включеній опції Binary — будь-яких. Хоча були запропоновані розширення для ідентифікації набору символів (Telnet Charset Option), на практиці вони не використовуються. Усі значення октетів прикладних даних, крім \377 (десяткове 255), передаються з транспорту як є. Октет \377 передається послідовністю \377 \377 із двох октетів. Це пов'язано з тим, що октет \377 використовується на транспортному рівні для кодування опцій.
Remove ads
Опції
Протокол надає за замовчуванням мінімальну функціональність, яка розширяються за рахунок опцій. Принцип обумовлених опцій вимагає проведення переговорів при включенні кожної з опцій. Одна сторона ініціює запит, а інша сторона може або прийняти, або відхилити пропозицію. Якщо запит приймається, то опція негайно набирає чинності. Опції описані окремо від протоколу як такого, і їх підтримка програмним забезпеченням довільна. Клієнту протоколу (мережному терміналу) пропонується відхиляти запити на включення непідтримуваних і невідомих опцій.
Принтер і клавіатура NVT
Узагальнити
Перспектива
Принтер NVT має невизначену ширину каретки і довжину сторінки і повинен підтримувати всі 95 друкованих символів US-ASCII (коди з 32 по 126). Керувальні символи мають таке значення:
Підтримка дії символів, помічених як *, обов'язковою. Інші можуть виконувати задану дію або ні; одна сторона не повинна припускати нічого певного про підтримку конкретних необов'язкових керувальних символів іншою стороною. Послідовність «CR LF» повинна оброблятися як єдиний символ переведення рядка і використовуватися щоразу, коли потрібна їх спільна дія; послідовність «CR NUL» повинна використовуватися, коли потрібне тільки повернення каретки; і використання символу CR слід уникати в інших контекстах.
Remove ads
Структура команд Telnet
Узагальнити
Перспектива
Кожна команда TELNET є мультибайтовою послідовністю, що починається з коду \377 (десяткове: 255) «Interpret as Command» (IAC) та коду команди. Команди, що відповідають за домовленістю щодо опцій, є трьохбайтовими послідовностями, де третій байт є кодом опції. Нижченаведені коди і кодові послідовності мають відповідний сенс тільки тоді, коли йдуть відразу після IAC.
Remove ads
Застосування
Історично Telnet служив для віддаленого доступу до інтерфейсу командного рядка операційних систем. Згодом його стали використовувати для інших текстових інтерфейсів, включаючи ігри MUD і анімований ASCII-art. Теоретично, навіть обидві сторони протоколу можуть бути програмами, а не людиною. Іноді клієнти telnet використовуються для доступу до інших протоколів на основі транспорту TCP. Протокол telnet використовується в керувальному з'єднанні FTP, тобто заходити на сервер командою telnet ftp.example.net ftp
для виконання налагодження і експериментів не тільки можливо, але і правильно (на відміну від використання клієнтів telnet для доступу до HTTP, IRC і більшості інших протоколів).
Remove ads
Безпека
У протоколі не передбачено використання ні шифрування, ні перевірки достовірності даних. Тому він вразливий для будь-якого виду атак, до яких вразливий його транспорт, тобто протокол TCP. Для безпечного використання віддаленого доступу до системи рекомендується використовувати мережевий протокол SSH (особливо його версія 2), основною причиною створення якого були питання безпеки. Отже, варто мати на увазі, що сесія Telnet дуже вразлива, якщо не здійснюється в повністю контрольованої мережі або з використанням захисту на мережевому рівні (різні реалізації віртуальних приватних мереж). Через ненадійність від Telnet як засобу керування операційними системами давно відмовилися.
Remove ads
Telnet та інші протоколи
У середовищі фахівців з технологій Internet поширена думка, що клієнт Telnet придатний для ручного доступу (наприклад, з метою налагодження) до таких протоколів прикладного рівня, як HTTP, IRC, SMTP, POP3 та інших текст орієнтованих протоколів на основі транспорту TCP. Однак використання клієнта Telnet як клієнта TCP викликає такі небажані ефекти:
- Клієнт може передати дані, які Ви не вводили (опції Telnet).
- Клієнт не буде приймати октет \377.
- Клієнт буде спотворювати октет \377 при передачі.
- Клієнт взагалі може відмовитися передавати октети зі старшим бітом 1.
Такі програми, як netcat, дійсно забезпечують чистий доступ до TCP, однак потрібні спеціальні хитрощі для передачі переведення рядка як CR LF (що потрібно багатьма протоколами). Зазвичай клієнт Telnet за замовчуванням передає будь-яке переведення рядка як CR LF, незалежно від його кодування у системі клієнта. Також для доступу до прикладних протоколів (крім FTP і, власне, Telnet) з метою налагодження є використовується клієнт PuTTY в режимі «Raw» (чистий доступ до TCP) — PuTTY перетворює переведення рядка окремо від підтримки протоколу Telnet.
Remove ads
Специфікації
- RFC 854 TELNET protocol specification
- RFC 855 TELNET option specifications
- RFC 856 TELNET binary transmission
- RFC 857 TELNET echo option
- RFC 858 TELNET suppress Go Ahead option
- RFC 859 TELNET status option
- RFC 860 TELNET timing mark option
- RFC 861 TELNET extended options — list option
- RFC 885 Telnet end of record option
- RFC 1041 Telnet 3270 regime option
- RFC 1073 Telnet Window Size Option
схема роботи телнет - RFC 1079 Telnet terminal speed option
- RFC 1091 Telnet terminal-type option
- RFC 1096 Telnet X display location option
- RFC 1184 Telnet linemode option
- RFC 1205 5250 Telnet interface
- RFC 1372 Telnet remote flow control option
- RFC 1408 Telnet Environment Option
- RFC 1572 Telnet Environment Option (NEW-ENVIRON)
- RFC 2217 Telnet Com Port Control Option
- RFC 2941 Telnet Authentication Option
- RFC 2942 Telnet Authentication: Kerberos Version 5
- RFC 2943 TELNET Authentication Using DSA
- RFC 2944 Telnet Authentication: SRP
- RFC 2946 Telnet Data Encryption Option
- RFC 4248 The telnet URI Scheme
- RFC 4777 IBM’s iSeries Telnet Enhancements
Посилання
- https://www.ukraine.com.ua/wiki/hosting/other/diagnostics/telnet/
- https://keenetic.biz/pidkluchennya-sluzhb-telnet-i-tftp-v-windows/
- https://ru.wikipedia.org/wiki/Telnet
- https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/cc732339(v=ws.10)
- https://learn.microsoft.com/ru-ru/windows-server/administration/windows-commands/telnet
Ця стаття не містить посилань на джерела. (січень 2016) |
Ця стаття містить правописні, лексичні, граматичні, стилістичні або інші мовні помилки, які треба виправити. (січень 2016) |
![]() |
Це незавершена стаття про комп'ютерні мережі. Ви можете допомогти проєкту, виправивши або дописавши її. |
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads