Telnet (англ. TELetype NETwork) — мережевий протокол для реалізації текстового інтерфейсу по мережі (у сучасній формі — за допомогою транспорту TCP). Назву «Telnet» мають також деякі утиліти, що реалізують клієнтську частину протоколу.
Введення
Призначення протоколу TELNET у наданні достатньо спільного, двонаправленого, восьмибітного байт-орієнтованого засобу зв'язку. Його основне завдання полягає в тому, щоб дозволити термінальним пристроям і термінальним процесам взаємодіяти один з одним. Передбачається, що цей протокол може бути використаний для зв'язку виду термінал-термінал («зв'язування») або для зв'язку процес-процес («розподілені обчислення»).
Пристрій
Хоча у сесії Telnet виділяють клієнтську і серверну сторону, протокол насправді повністю симетричний. Після встановлення транспортного з'єднання (як правило, TCP) обидва його кінці грають роль «мережевих віртуальних терміналів» (англ. Network Virtual Terminal, NVT), які обмінюються двома типами даних:
- Прикладними даними (тобто даними, які йдуть від користувача до текстового додатка на стороні сервера і назад);
- Командами протоколу Telnet, окремим випадком яких є опції, що служать для з'ясування можливостей і переваг сторін.
Хоча Telnet-сесії, що виконується по TCP, властивий повний дуплекс, NVT повинен розглядатися як напівдуплексний пристрій, що працює за замовчуванням у буферизованому рядковому режимі.
Прикладні дані проходять через протокол без змін. Дані можуть зазнавати змін (наприклад може бути скинутий старший біт) у разі, якщо на вхід одного терміналу надійшли дані, допустимість приймання яких не була підтверджена другим. ,[] тобто на виході другого віртуального терміналу ми бачимо саме те, що було введено на вхід першого. З точки зору протоколу дані представляють просто послідовність байтів (октетів), за замовчуванням належать набору ASCII, але при включеній опції Binary — будь-яких. Хоча були запропоновані розширення для ідентифікації набору символів (Telnet Charset Option), на практиці вони не використуються. Всі значення октетів прикладних даних, крім \377 (десяткове 255), передаються з транспорту як є. Октет \377 передається послідовністю \377 \377 із двох октетів. Це пов'язано з тим, що октет \377 використовується на транспортному рівні для кодування опцій.
Опції
Протокол надає за замовчуванням мінімальну функціональність, яка розширюється за рахунок опцій. Принцип обумовлених опцій вимагає проведення переговорів при включенні кожної з опцій. Одна сторона ініціює запит, а інша сторона може або прийняти, або відхилити пропозицію. Якщо запит приймається, то опція негайно вступає в силу. Опції описані окремо від протоколу як такого, і їх підтримка програмним забезпеченням довільна. Клієнту протоколу (мережному терміналу) пропонується відхиляти запити на включення непідтримуваних і невідомих опцій.
Принтер і клавіатура NVT
Принтер NVT має невизначену ширину каретки і довжину сторінки і повинен підтримувати всі 95 друкованих символів US-ASCII (коди з 32 по 126). Керувальні символи мають таке значення:
Назва | Код (десятковий / шістнадцятковий) | Опис |
---|---|---|
NULL (NUL) * | 0/0x00 | Операції відсутні |
Line Feed (LF) * | 10/0x0A | Переводить принтер на наступний рядок друку, залишаючись на тій же горизонтальній позиції |
Carriage Return (CR) * | 13/0x0D | Переміщує принтер до лівої межі поточного рядка |
BELL (BEL) | 7/0x07 | Викликає аудіо або відео сигнал (але НЕ переміщує головку принтера). |
Back Space (BS) | 8/0x08 | Переміщує головку принтера на один символ у напрямку до лівої межі |
Horizontal Tab (HT) | 9/0x09 | Переміщує принтер в наступну зупинку горизонтальної табуляції. Залишається невизначеним, як сторона визначає і встановлює ці зупинки табуляції |
Vertical Tab (VT) | 11/0x0B | Переміщує принтер в наступну зупинку вертикальної табуляції. Залишається невизначеним, як сторона визначає і встановлює ці зупинки табуляції. |
Form Feed (FF) | 12/0x0C | Переміщує принтер до верхньої частини наступної сторінки, залишаючись на тій же горизонтальній позиції |
Підтримка дії символів, помічених як *, обов'язковою. Інші можуть виконувати задану дію або ні; одна сторона не повинна припускати нічого певного про підтримку конкретних необов'язкових керувальних символів іншою стороною. Послідовність «CR LF» повинна оброблятися як єдиний символ переведення рядка і використовуватися щоразу, коли потрібна їх спільна дія; послідовність «CR NUL» повинна використовуватися, коли потрібне тільки повернення каретки; і використання символу CR слід уникати в інших контекстах.
Структура команд Telnet
Кожна команда TELNET є мультибайтовою послідовністю, що починається з коду \377 (десяткове: 255) «Interpret as Command» (IAC) та коду команди. Команди, що відповідають за домовленістю щодо опцій, є трьохбайтовими послідовностями, де третій байт є кодом опції. Нижченаведені коди і кодові послідовності мають відповідний сенс тільки тоді, коли йдуть відразу після IAC.
Назва | Код (десятковий / шістнадцятковий) | Опис |
---|---|---|
SE | 240/0xF0 | Завершує узгодження, розпочате командою SB |
NOP | 241/0xF1 | Операції відсутні |
Data Mark | 242/0xF2 | Синхронізація (Synch) обміну даними. Ця команда завжди супроводжується TCP Urgent notification |
Break | 243/0xF3 | Натиснуто кнопка «Break» або «Attention» |
Interrupt Process | 244/0xF4 | Призупиняє, перериває, аварійно припиняє або завершує процес |
Abort output | 245/0xF5 | Відправляє сигнал Synch користувачеві |
Are You There | 246/0xF6 | Відправляє назад відповідь терміналу, що складається з друкованих символів |
Erase character | 247/0xF7 | Одержувач повинен видалити попередній символ, якщо це можливо |
Erase Line | 248/0xF8 | Стерти останній введений рядок, тобто всі дані, отримані після останнього переведення рядка |
Go ahead | 249/0xF9 | Очікується передача даних |
SB | 250/0xFA | Початок узгодження опції, що вимагає передачі параметрів |
WILL опція | 251/0xFB | Вказує на бажання виконувати чи підтверджує, що зараз виконується зазначена опція |
WON’T опція | 252/0xFC | Вказує на відмову почати або продовжити виконувати зазначену опцію |
DO опція | 253/0xFD | Запит на те, щоб інша сторона виконала або підтвердила виконання зазначеної опції |
DON’T опція | 254/0xFE | Вимога на те, щоб інша сторона зупинила виконання або підтвердила те, що вказана опція більше не виконується |
IAC | 255/0xFF | Байт даних 255 |
Застосування
Історично Telnet служив для віддаленого доступу до інтерфейсу командного рядка операційних систем. Згодом його стали використовувати для інших текстових інтерфейсів, включаючи ігри MUD і анімований . Теоретично, навіть обидві сторони протоколу можуть бути програмами, а не людиною. Іноді клієнти telnet використовуються для доступу до інших протоколів на основі транспорту TCP. Протокол telnet використовується в керувальному з'єднанні FTP, тобто заходити на сервер командою telnet ftp.example.net ftp
для виконання налагодження і експериментів не тільки можливо, але і правильно (на відміну від використання клієнтів telnet для доступу до HTTP, IRC і більшості інших протоколів).
Безпека
У протоколі не передбачено використання ні шифрування, ні перевірки достовірності даних. Тому він вразливий для будь-якого виду атак, до яких вразливий його транспорт, тобто протокол TCP. Для функціональності віддаленого доступу до системи в наш час[] застосовується мережевий протокол SSH (особливо його версія 2), основною причиною створення якого були питання безпеки. Отже варто мати на увазі, що сесія Telnet дуже вразлива, якщо не здійснюється в повністю контрольованої мережі або з використанням захисту на мережевому рівні (різні реалізації віртуальних приватних мереж). Через ненадійність від Telnet як засобу керування операційними системами давно відмовилися.
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.
Ця стаття не містить . (січень 2016) |
Ця стаття містить правописні, лексичні, граматичні, стилістичні або інші мовні помилки, які треба виправити. (січень 2016) |
![]() | Це незавершена стаття про комп'ютерні мережі. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Telnet angl TELetype NETwork merezhevij protokol dlya realizaciyi tekstovogo interfejsu po merezhi u suchasnij formi za dopomogoyu transportu TCP Nazvu Telnet mayut takozh deyaki utiliti sho realizuyut kliyentsku chastinu protokolu VvedennyaPriznachennya protokolu TELNET u nadanni dostatno spilnogo dvonapravlenogo vosmibitnogo bajt oriyentovanogo zasobu zv yazku Jogo osnovne zavdannya polyagaye v tomu shob dozvoliti terminalnim pristroyam i terminalnim procesam vzayemodiyati odin z odnim Peredbachayetsya sho cej protokol mozhe buti vikoristanij dlya zv yazku vidu terminal terminal zv yazuvannya abo dlya zv yazku proces proces rozpodileni obchislennya PristrijHocha u sesiyi Telnet vidilyayut kliyentsku i servernu storonu protokol naspravdi povnistyu simetrichnij Pislya vstanovlennya transportnogo z yednannya yak pravilo TCP obidva jogo kinci grayut rol merezhevih virtualnih terminaliv angl Network Virtual Terminal NVT yaki obminyuyutsya dvoma tipami danih Prikladnimi danimi tobto danimi yaki jdut vid koristuvacha do tekstovogo dodatka na storoni servera i nazad Komandami protokolu Telnet okremim vipadkom yakih ye opciyi sho sluzhat dlya z yasuvannya mozhlivostej i perevag storin Hocha Telnet sesiyi sho vikonuyetsya po TCP vlastivij povnij dupleks NVT povinen rozglyadatisya yak napivdupleksnij pristrij sho pracyuye za zamovchuvannyam u buferizovanomu ryadkovomu rezhimi Prikladni dani prohodyat cherez protokol bez zmin Dani mozhut zaznavati zmin napriklad mozhe buti skinutij starshij bit u razi yaksho na vhid odnogo terminalu nadijshli dani dopustimist prijmannya yakih ne bula pidtverdzhena drugim sho tobto na vihodi drugogo virtualnogo terminalu mi bachimo same te sho bulo vvedeno na vhid pershogo Z tochki zoru protokolu dani predstavlyayut prosto poslidovnist bajtiv oktetiv za zamovchuvannyam nalezhat naboru ASCII ale pri vklyuchenij opciyi Binary bud yakih Hocha buli zaproponovani rozshirennya dlya identifikaciyi naboru simvoliv Telnet Charset Option na praktici voni ne vikoristuyutsya Vsi znachennya oktetiv prikladnih danih krim 377 desyatkove 255 peredayutsya z transportu yak ye Oktet 377 peredayetsya poslidovnistyu 377 377 iz dvoh oktetiv Ce pov yazano z tim sho oktet 377 vikoristovuyetsya na transportnomu rivni dlya koduvannya opcij Opciyi Protokol nadaye za zamovchuvannyam minimalnu funkcionalnist yaka rozshiryuyetsya za rahunok opcij Princip obumovlenih opcij vimagaye provedennya peregovoriv pri vklyuchenni kozhnoyi z opcij Odna storona iniciyuye zapit a insha storona mozhe abo prijnyati abo vidhiliti propoziciyu Yaksho zapit prijmayetsya to opciya negajno vstupaye v silu Opciyi opisani okremo vid protokolu yak takogo i yih pidtrimka programnim zabezpechennyam dovilna Kliyentu protokolu merezhnomu terminalu proponuyetsya vidhilyati zapiti na vklyuchennya nepidtrimuvanih i nevidomih opcij Printer i klaviatura NVT Printer NVT maye neviznachenu shirinu karetki i dovzhinu storinki i povinen pidtrimuvati vsi 95 drukovanih simvoliv US ASCII kodi z 32 po 126 Keruvalni simvoli mayut take znachennya Nazva Kod desyatkovij shistnadcyatkovij Opis NULL NUL 0 0x00 Operaciyi vidsutni Line Feed LF 10 0x0A Perevodit printer na nastupnij ryadok druku zalishayuchis na tij zhe gorizontalnij poziciyi Carriage Return CR 13 0x0D Peremishuye printer do livoyi mezhi potochnogo ryadka BELL BEL 7 0x07 Viklikaye audio abo video signal ale NE peremishuye golovku printera Back Space BS 8 0x08 Peremishuye golovku printera na odin simvol u napryamku do livoyi mezhi Horizontal Tab HT 9 0x09 Peremishuye printer v nastupnu zupinku gorizontalnoyi tabulyaciyi Zalishayetsya neviznachenim yak storona viznachaye i vstanovlyuye ci zupinki tabulyaciyi Vertical Tab VT 11 0x0B Peremishuye printer v nastupnu zupinku vertikalnoyi tabulyaciyi Zalishayetsya neviznachenim yak storona viznachaye i vstanovlyuye ci zupinki tabulyaciyi Form Feed FF 12 0x0C Peremishuye printer do verhnoyi chastini nastupnoyi storinki zalishayuchis na tij zhe gorizontalnij poziciyi Pidtrimka diyi simvoliv pomichenih yak obov yazkovoyu Inshi mozhut vikonuvati zadanu diyu abo ni odna storona ne povinna pripuskati nichogo pevnogo pro pidtrimku konkretnih neobov yazkovih keruvalnih simvoliv inshoyu storonoyu Poslidovnist CR LF povinna obroblyatisya yak yedinij simvol perevedennya ryadka i vikoristovuvatisya shorazu koli potribna yih spilna diya poslidovnist CR NUL povinna vikoristovuvatisya koli potribne tilki povernennya karetki i vikoristannya simvolu CR slid unikati v inshih kontekstah Struktura komand Telnet Kozhna komanda TELNET ye multibajtovoyu poslidovnistyu sho pochinayetsya z kodu 377 desyatkove 255 Interpret as Command IAC ta kodu komandi Komandi sho vidpovidayut za domovlenistyu shodo opcij ye trohbajtovimi poslidovnostyami de tretij bajt ye kodom opciyi Nizhchenavedeni kodi i kodovi poslidovnosti mayut vidpovidnij sens tilki todi koli jdut vidrazu pislya IAC Nazva Kod desyatkovij shistnadcyatkovij Opis SE 240 0xF0 Zavershuye uzgodzhennya rozpochate komandoyu SB NOP 241 0xF1 Operaciyi vidsutni Data Mark 242 0xF2 Sinhronizaciya Synch obminu danimi Cya komanda zavzhdi suprovodzhuyetsya TCP Urgent notification Break 243 0xF3 Natisnuto knopka Break abo Attention Interrupt Process 244 0xF4 Prizupinyaye pererivaye avarijno pripinyaye abo zavershuye proces Abort output 245 0xF5 Vidpravlyaye signal Synch koristuvachevi Are You There 246 0xF6 Vidpravlyaye nazad vidpovid terminalu sho skladayetsya z drukovanih simvoliv Erase character 247 0xF7 Oderzhuvach povinen vidaliti poperednij simvol yaksho ce mozhlivo Erase Line 248 0xF8 Sterti ostannij vvedenij ryadok tobto vsi dani otrimani pislya ostannogo perevedennya ryadka Go ahead 249 0xF9 Ochikuyetsya peredacha danih SB 250 0xFA Pochatok uzgodzhennya opciyi sho vimagaye peredachi parametriv WILL opciya 251 0xFB Vkazuye na bazhannya vikonuvati chi pidtverdzhuye sho zaraz vikonuyetsya zaznachena opciya WON T opciya 252 0xFC Vkazuye na vidmovu pochati abo prodovzhiti vikonuvati zaznachenu opciyu DO opciya 253 0xFD Zapit na te shob insha storona vikonala abo pidtverdila vikonannya zaznachenoyi opciyi DON T opciya 254 0xFE Vimoga na te shob insha storona zupinila vikonannya abo pidtverdila te sho vkazana opciya bilshe ne vikonuyetsya IAC 255 0xFF Bajt danih 255ZastosuvannyaIstorichno Telnet sluzhiv dlya viddalenogo dostupu do interfejsu komandnogo ryadka operacijnih sistem Zgodom jogo stali vikoristovuvati dlya inshih tekstovih interfejsiv vklyuchayuchi igri MUD i animovanij Teoretichno navit obidvi storoni protokolu mozhut buti programami a ne lyudinoyu Inodi kliyenti telnet vikoristovuyutsya dlya dostupu do inshih protokoliv na osnovi transportu TCP Protokol telnet vikoristovuyetsya v keruvalnomu z yednanni FTP tobto zahoditi na server komandoyu telnet ftp example net ftp dlya vikonannya nalagodzhennya i eksperimentiv ne tilki mozhlivo ale i pravilno na vidminu vid vikoristannya kliyentiv telnet dlya dostupu do HTTP IRC i bilshosti inshih protokoliv BezpekaU protokoli ne peredbacheno vikoristannya ni shifruvannya ni perevirki dostovirnosti danih Tomu vin vrazlivij dlya bud yakogo vidu atak do yakih vrazlivij jogo transport tobto protokol TCP Dlya funkcionalnosti viddalenogo dostupu do sistemi v nash chas koli zastosovuyetsya merezhevij protokol SSH osoblivo jogo versiya 2 osnovnoyu prichinoyu stvorennya yakogo buli pitannya bezpeki Otzhe varto mati na uvazi sho sesiya Telnet duzhe vrazliva yaksho ne zdijsnyuyetsya v povnistyu kontrolovanoyi merezhi abo z vikoristannyam zahistu na merezhevomu rivni rizni realizaciyi virtualnih privatnih merezh Cherez nenadijnist vid Telnet yak zasobu keruvannya operacijnimi sistemami davno vidmovilisya Telnet ta inshi protokoliU seredovishi fahivciv z tehnologij Internet poshirena dumka sho kliyent Telnet pridatnij dlya ruchnogo dostupu napriklad z metoyu nalagodzhennya do takih protokoliv prikladnogo rivnya yak HTTP IRC SMTP POP3 ta inshih tekst oriyentovanih protokoliv na osnovi transportu TCP Odnak vikoristannya kliyenta Telnet yak kliyenta TCP viklikaye taki nebazhani efekti Kliyent mozhe peredati dani yaki Vi ne vvodili opciyi Telnet Kliyent ne bude prijmati oktet 377 Kliyent bude spotvoryuvati oktet 377 pri peredachi Kliyent vzagali mozhe vidmovitisya peredavati okteti zi starshim bitom 1 Taki programi yak netcat dijsno zabezpechuyut chistij dostup do TCP odnak potribni specialni hitroshi dlya peredachi perevedennya ryadka yak CR LF sho potribno bagatma protokolami Zazvichaj kliyent Telnet za zamovchuvannyam peredaye bud yake perevedennya ryadka yak CR LF nezalezhno vid jogo koduvannya u sistemi kliyenta Takozh dlya dostupu do prikladnih protokoliv krim FTP i vlasne Telnet z metoyu nalagodzhennya ye vikoristovuyetsya kliyent PuTTY v rezhimi Raw chistij dostup do TCP PuTTY peretvoryuye perevedennya ryadka okremo vid pidtrimki protokolu Telnet Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2016 Cya stattya mistit pravopisni leksichni gramatichni stilistichni abo inshi movni pomilki yaki treba vipraviti Vi mozhete dopomogti vdoskonaliti cyu stattyu pogodivshi yiyi iz chinnimi movnimi standartami sichen 2016 Ce nezavershena stattya pro komp yuterni merezhi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi