telnet | |
---|---|
název | SÍŤ TELEtype |
Úroveň (podle modelu OSI ) | Aplikovaný |
Rodina | TCP/IP |
Port/ID | 23/TCP |
Účel protokolu | virtuální textový terminál |
Specifikace | RFC 854 / STD 8 |
Hlavní implementace (klienti) |
telnet (Unix) PuTTY , telnet.exe (Windows) [1] |
Implementace jádra ( servery ) | telnetd, MS Telnet |
Rozšiřitelnost | Možnosti ( RFC 855 ) |
Mediální soubory na Wikimedia Commons |
TELNET (zkráceně z anglického tel etype net work ) je síťový protokol pro implementaci textového terminálového rozhraní po síti (ve své moderní podobě využívající TCP transport ). Název "telnet" je také používán některými nástroji, které implementují klientskou stranu protokolu. Aktuální standard protokolu je popsán v RFC 854 .
Provádí funkce protokolu aplikační vrstvy modelu OSI . Protokol telnet byl používán pro vzdálenou správu různých síťových zařízení a softwarových serverů , ale kvůli bezpečnosti ustoupil ssh . Může to však být jediný způsob interakce prostřednictvím cli s vestavěnými systémy, jako jsou směrovače , protože nemají ssh.
Účelem protokolu TELNET je poskytnout poměrně obecné, obousměrné, osmibitové, bajtově orientované komunikační médium. Jeho hlavním účelem je umožnit koncovým zařízením a terminálovým procesům vzájemnou komunikaci. Předpokládá se, že tento protokol může být použit pro komunikaci mezi terminály ("propojení") nebo komunikaci mezi procesy ("distribuované výpočty").
Přestože relace Telnet má stranu klienta a stranu serveru, protokol je ve skutečnosti zcela symetrický. Po navázání transportního spojení (obvykle TCP) hrají oba jeho konce roli „síťových virtuálních terminálů“ ( angl. Network Virtual Terminal , NVT), vyměňují si dva typy dat:
Přestože je relace Telnet přes TCP ze své podstaty plně duplexní , s NVT by se mělo ve výchozím nastavení zacházet jako s poloduplexním zařízením pracujícím v režimu vyrovnávací linky.
Aplikační data procházejí protokolem beze změn [2] , to znamená, že na výstupu druhého virtuálního terminálu vidíme přesně to, co bylo zadáno na vstupu prvního. Z hlediska protokolu jsou data jednoduše posloupností bajtů ( oktetů ), ve výchozím nastavení patřících do sady ASCII , ale se zapnutou volbou Binární libovolná . Ačkoli byla pro identifikaci znakové sady navržena rozšíření [3] , v praxi se nepoužívají.
Všechny hodnoty oktetu dat aplikace jiné než \377 (dekadicky: 255) jsou přenášeny tak, jak jsou. Oktet \377 je přenášen jako sekvence \377\377 dvou oktetů. Je to proto, že oktet \377 používá transportní vrstva ke kódování voleb.
Protokol ve výchozím nastavení poskytuje minimální funkčnost a sadu možností, které ji rozšiřují. Princip stanovených možností vyžaduje, aby se jednání provádělo při zapnutí každé z možností. Jedna strana iniciuje žádost a druhá strana může nabídku buď přijmout, nebo odmítnout. Pokud je žádost přijata, možnost nabude účinnosti okamžitě. Možnosti jsou popsány odděleně od samotného protokolu a jejich podpora softwarem je libovolná. Protokolový klient (síťový terminál) je instruován, aby odmítl požadavky na zahrnutí nepodporovaných a neznámých možností.
Tiskárna NVT má nespecifikovanou šířku vozíku a délku stránky a musí reprezentovat všech 95 tisknutelných znaků US-ASCII (kódy 32 až 126). Řídicí znaky mají následující význam:
název | Kód (desetinný/hexadecimální) | Popis |
---|---|---|
NULL (NUL) * | 0/0x00 | Žádná operace. |
Řádkový posuv (LF) * | 10/0x0A | Posune tiskárnu na další tiskový řádek, přičemž zůstane ve stejné horizontální poloze. |
Carriage Return (CR) * | 13/0x0D | Přesune tiskárnu k levému okraji aktuálního řádku. |
BELL (BEL) | 7/0x07 | Vytváří zvukový nebo obrazový signál (ale NEPOHYBUJE tiskovou hlavou). |
Back Space (BS) | 8/0x08 | Posune tiskovou hlavu o jeden znak směrem k levému okraji. |
Vodorovná karta (HT) | 9/0x09 | Přesune tiskárnu na další vodorovnou zarážku tabulátoru. Není definováno, jak strana definuje a nastavuje tyto zarážky tabulátoru. |
Vertikální karta (VT) | 11/0x0B | Přesune tiskárnu na další svislou zarážku tabulátoru. Není definováno, jak strana definuje a nastavuje tyto zarážky tabulátoru. |
Zdroj formuláře (FF) | 12/0x0C | Přesune tiskárnu do horní části další stránky, přičemž zůstane ve stejné vodorovné poloze. |
Je vyžadována podpora akce znaků označených jako *. Ostatní mohou provést danou akci nebo neprovést žádnou; jedna strana nemusí předpokládat nic konkrétního ohledně podpory druhé strany pro určité volitelné řídicí znaky.
Se sekvencí „CR LF“ se musí zacházet jako s jedním znakem nového řádku a musí se používat vždy, když je vyžadována jejich kombinovaná akce; sekvence "CR NUL" by měla být použita tam, kde je vyžadován pouze návrat vozíku; v jiných kontextech je třeba se vyvarovat použití znaku CR.
Každý příkaz TELNET je vícebajtová sekvence začínající \377 (desetinně: 255) kódem "Interpret as Command" (IAC) a kódem příkazu. Příkazy odpovědné za vyjednávání možností jsou tříbajtové sekvence, kde třetí bajt je kód možnosti. Následující kódy a sekvence kódů mají svůj příslušný význam pouze tehdy, když bezprostředně následují za IAC.
název | Kód (desetinný/hexadecimální) | Popis |
---|---|---|
SE | 240/0xF0 | Ukončí vyjednávání zahájené příkazem SB. |
NOP | 241/0xF1 | Žádná operace. |
datová značka | 242/0xF2 | Synchronizační (Synch) výměna dat. Po tomto příkazu vždy následuje upozornění TCP Urgent. |
Přestávka | 243/0xF3 | Je stisknuto tlačítko "Break" nebo "Attention". |
Přerušit proces | 244/0xF4 | Pozastaví, přeruší, přeruší nebo ukončí proces. |
Přerušit výstup | 245/0xF5 | Potlačí výstup aktuálního procesu. Uživateli také posílá synchronizační signál. |
Jsi tam | 246/0xF6 | Odešle zpět terminálovou odpověď obsahující tisknutelné znaky. |
Vymazat znak | 247/0xF7 | Příjemce by měl odstranit předchozí znak, pokud je to možné. |
Vymazat řádek | 248/0xF8 | Vymažte poslední zadaný řádek, tedy všechna data přijatá po posledním novém řádku. |
pokračuj | 249/0xF9 | Čeká se na přenos dat. |
SB | 250/0xFA | Začátek vyjednávání možností vyžadující předání parametru. |
možnost WILL | 251/0xFB | Označuje přání provést nebo potvrzuje, že zadaná možnost se aktuálně provádí. |
Nebude možnost | 252/0xFC | Označuje selhání při spuštění nebo pokračování v provádění zadané volby. |
možnost DO | 253/0xFD | Žádost, aby druhá strana provedla nebo potvrdila uplatnění uvedené opce. |
Možnost NE | 254/0xFE | Požadavek, aby druhá strana zastavila provádění nebo potvrdila, že zadaná možnost již není prováděna. |
IAC | 255/0XFF | Datový bajt 255. |
Historicky se Telnet používal pro vzdálený přístup k rozhraní příkazového řádku operačních systémů . Následně byl použit pro další textová rozhraní, až po hry MUD a animované ASCII-art . Teoreticky dokonce obě strany protokolu mohou být nejen lidé, ale i programy.
Klienti telnet se někdy používají pro přístup k jiným protokolům založeným na přenosu TCP, viz Telnet a další protokoly .
Protokol telnet se používá v řídicím spojení FTP , to znamená, že vstup na server s příkazem telnet ftp.example.net ftpk provedení ladění a experimentů je nejen možný, ale také správný (na rozdíl od použití klientů telnet pro přístup k HTTP, IRC a většině dalších protokolů ).
Telnet je spolu s HTTP hlavním protokolem pro vzdálenou práci se síťovým zařízením (spravované přepínače a routery) a na rozdíl od webového rozhraní poskytuje plný přístup k funkčnosti zařízení, ale zároveň vyžaduje od specialisty dovednosti příkazového řádku.
Protokol neumožňuje použití šifrování ani autentizace dat. Proto je zranitelný vůči jakémukoli druhu útoku , na který je zranitelný jeho transport, tedy protokol TCP. Pro funkčnost vzdáleného přístupu do systému je v současnosti využíván síťový protokol SSH (zejména jeho verze 2) , při jehož tvorbě byl kladen důraz na bezpečnost. Mějte tedy na paměti, že relace Telnetu je značně nezabezpečená, pokud není v plně řízené síti nebo se zabezpečením síťové vrstvy (různé implementace virtuálních privátních sítí ). Kvůli nespolehlivosti Telnetu jako prostředku pro správu operačních systémů se od nich dlouho upustilo.
V komunitě internetových technologií se klient Telnet někdy používá k poskytování ručního přístupu (například pro účely ladění) k protokolům aplikační vrstvy, jako je HTTP , IRC , SMTP , POP3 a dalším textovým protokolům založeným na přenosu TCP. Použití klienta telnet jako klienta TCP však může způsobit následující nežádoucí účinky:
Programy jako netcat sice poskytují čistý TCP přístup, ale pro předání řádku jako CR LF (což je vyžadováno mnoha protokoly) jsou vyžadovány speciální triky (nějak stty -icrnlv systému UNIX ). Klient Telnetu obvykle standardně odešle jakýkoli nový řádek jako CR LF bez ohledu na jeho kódování v systému klienta. Také pro ladění přístupu k aplikačním protokolům (kromě FTP a vlastně Telnetu) můžete použít klienta PuTTY v režimu Raw (čistý přístup k TCP) - PuTTY převádí zalomení řádků odděleně od podpory protokolu Telnet.
URI | Schémata|
---|---|
Oficiální | |
neoficiální |
protokoly TCP /IP podle vrstev modelu OSI | Základní|
---|---|
Fyzický | |
odvedeny | |
síť | |
Doprava | |
zasedání | |
Zastoupení | |
Aplikovaný | |
Uplatněno jiné | |
Seznam portů TCP a UDP |