Telnet

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 27. marts 2016; checks kræver 30 redigeringer .
telnet
Navn TELEtype NETVÆRK
Niveau (ifølge OSI-modellen ) Anvendt
Familie TCP/IP
Port/ID 23/TCP
Formål med protokollen virtuel tekstterminal
Specifikation RFC 854 / STD 8
Vigtigste implementeringer (klienter) telnet (Unix)
PuTTY , telnet.exe (Windows) [1]
Kerneimplementeringer ( servere ) telnetd, MS Telnet
Udvidelsesmuligheder Valgmuligheder ( RFC 855 )
 Mediefiler på Wikimedia Commons

TELNET (forkortet fra engelsk  tel etype net work ) er en netværksprotokol til implementering af en tekstterminalgrænseflade over et netværk (i sin moderne form, ved hjælp af TCP -transport ). Navnet "telnet" bruges også af nogle hjælpeprogrammer, der implementerer klientsiden af ​​protokollen. Den aktuelle protokolstandard er beskrevet i RFC 854 .

Udfører funktionerne i en applikationslagsprotokol af OSI-modellen . Telnet-protokollen blev brugt til fjernadministration af forskellige netværksenheder og softwareservere , men har givet plads til ssh på grund af sikkerheden. Det kan dog være den eneste måde at interagere via cli med indlejrede systemer, såsom routere , da de ikke har ssh.

Introduktion

Formålet med TELNET-protokollen er at give et ret generelt, tovejs, otte-bit, byte-orienteret kommunikationsmedium. Dens hovedformål er at tillade terminalenheder og terminalprocesser at kommunikere med hinanden. Det påtænkes, at denne protokol kan anvendes til terminal-til-terminal-kommunikation ("binding") eller proces-til-proces-kommunikation ("distributed computing").

Enhed

Selvom en Telnet-session har en klientside og en serverside, er protokollen faktisk fuldstændig symmetrisk. Efter etablering af en transportforbindelse (normalt TCP), spiller begge ender af den rollen som "virtuelle netværksterminaler" ( eng.  Network Virtual Terminal , NVT), der udveksler to typer data:

Selvom en Telnet-session over TCP i sagens natur er fuld dupleks , skal NVT behandles som en halv dupleksenhed, der som standard fungerer i bufret linjetilstand.

Applikationsdata passerer gennem protokollen uden ændringer [2] , det vil sige ved udgangen af ​​den anden virtuelle terminal ser vi præcis, hvad der blev indtastet ved indgangen til den første. Fra protokollens synspunkt er dataene simpelthen en sekvens af bytes ( oktetter ), som som standard hører til ASCII -sættet , men med den binære indstilling aktiveret  , evt. Selvom udvidelser er blevet foreslået til tegnsætidentifikation [3] , bruges de ikke i praksis.

Alle applikationsdataoktetværdier ud over \377 (decimal: 255) overføres over transporten, som den er. \377-oktetten transmitteres som en \377\377-sekvens af to oktetter. Dette skyldes, at \377 oktetten bruges af transportlaget til at kode muligheder.

Indstillinger

Protokollen giver som standard minimumsfunktionaliteten og et sæt muligheder, der udvider den. Princippet om fastsatte optioner kræver, at der gennemføres forhandlinger, når hver af mulighederne er slået til. Den ene side initierer anmodningen, og den anden side kan enten acceptere eller afvise tilbuddet. Hvis anmodningen accepteres, træder muligheden i kraft med det samme. Indstillingerne er beskrevet separat fra selve protokollen, og deres understøttelse af softwaren er vilkårlig. Protokolklienten (netværksterminalen) bliver bedt om at afvise anmodninger om at inkludere ikke-understøttede og ukendte muligheder.

NVT printer og tastatur

NVT-printeren har en uspecificeret vognbredde og sidelængde og skal repræsentere alle 95 printbare US-ASCII-tegn (koder 32 til 126). Kontroltegn har følgende betydninger:

Navn Kode (decimal/hexadecimal) Beskrivelse
NULL (NUL)* 0/0x00 Ingen operation.
Line Feed (LF) * 10/0x0A Fremfører printeren til næste udskriftslinje, mens den forbliver i den samme vandrette position.
Carriage Return (CR)* 13/0x0D Flytter printeren til venstre kant af den aktuelle linje.
BELL (BEL) 7/0x07 Producerer et lyd- eller videosignal (men flytter IKKE printerhovedet).
Back Space (BS) 8/0x08 Flytter printerhovedet et tegn mod venstre margen.
Vandret fane (HT) 9/0x09 Flytter printeren til det næste vandrette tabulatorstop. Det er efterladt udefineret, hvordan siden definerer og sætter disse tabulatorstop.
Lodret fane (VT) 11/0x0B Flytter printeren til det næste lodrette tabulatorstop. Det er efterladt udefineret, hvordan siden definerer og sætter disse tabulatorstop.
formularfeed (FF) 12/0x0C Flytter printeren til toppen af ​​næste side, mens den forbliver i den samme vandrette position.

Understøttelse af handlingen af ​​tegn markeret som * er påkrævet. Andre kan udføre en given handling eller ikke udføre nogen; den ene side er ikke forpligtet til at antage noget specifikt om den anden sides understøttelse af bestemte valgfri kontroltegn.

"CR LF"-sekvensen skal behandles som et enkelt linjeskifttegn og bruges, når deres kombinerede handling er påkrævet; "CR NUL"-sekvensen skal bruges, hvor der kun kræves en returretur; brugen af ​​CR-tegnet bør undgås i andre sammenhænge.

Telnet-kommandostruktur

Hver TELNET-kommando er en multi-byte-sekvens, der begynder med \377 (decimal: 255) "Interpret as Command" (IAC)-koden og kommandokoden. De kommandoer, der er ansvarlige for forhandling af optioner, er tre-byte-sekvenser, hvor den tredje byte er option-koden. Følgende koder og kodesekvenser har kun deres respektive betydning, når de umiddelbart følger IAC.

Navn Kode (decimal/hexadecimal) Beskrivelse
SE 240/0xF0 Afslutter forhandlingen startet af SB-kommandoen.
INTET P 241/0xF1 Ingen operation.
datamærke 242/0xF2 Synkronisering (synkronisering) dataudveksling. Denne kommando efterfølges altid af en TCP Urgent-meddelelse.
Pause 243/0xF3 Der trykkes på knappen "Break" eller "Attention".
Afbryde proces 244/0xF4 Suspenderer, afbryder, afbryder eller afslutter en proces.
Afbryd output 245/0xF5 Undertrykker output fra den aktuelle proces. Sender også et synkroniseringssignal til brugeren.
Er du der 246/0xF6 Sender et terminalsvar tilbage bestående af printbare tegn.
Slet karakter 247/0xF7 Modtageren bør fjerne det forrige tegn, hvis det er muligt.
Slet linje 248/0xF8 Slet den sidst indtastede linje, det vil sige alle data modtaget efter den sidste nye linje.
Fortsæt 249/0xF9 Dataoverførsel afventer.
SB 250/0xFA Start af optionforhandling, der kræver parameteroverførsel.
VIL  mulighed 251/0xFB Indikerer et ønske om at udføre eller bekræfter, at den angivne mulighed i øjeblikket udføres.
Vil ikke  vælge 252/0xFC Indikerer en fejl ved at starte eller fortsætte med at udføre den angivne indstilling.
GØR  mulighed 253/0xFD En anmodning om, at den anden part udfører eller bekræfter udnyttelsen af ​​den angivne mulighed.
IKKE  valgmulighed 254/0xFE En anmodning om, at den anden part stopper eksekveringen eller bekræfter, at den angivne mulighed ikke længere udføres.
IAC 255/0XFF Databyte 255.

Ansøgninger

Historisk set blev Telnet brugt til fjernadgang til kommandolinjegrænsefladen i operativsystemer . Efterfølgende blev det brugt til andre tekstbaserede grænseflader, op til MUD -spil og animeret ASCII-kunst . Teoretisk set kan selv begge sider af protokollen ikke kun være mennesker, men også programmer.

Nogle gange bruges telnet-klienter til at få adgang til andre protokoller baseret på TCP-transporten, se Telnet og andre protokoller .

Telnet-protokollen bruges i FTP -kontrolforbindelsen , det vil sige, at komme ind på serveren med en kommando telnet ftp.example.net ftptil at udføre fejlfinding og eksperimenter er ikke kun muligt, men også korrekt (i modsætning til at bruge telnet-klienter til at få adgang til HTTP, IRC og de fleste andre protokoller ).

Telnet er sammen med HTTP hovedprotokollen for fjernarbejde med netværksudstyr (administrerede switches og routere) og giver i modsætning til webgrænsefladen fuld adgang til enhedens funktionalitet, men kræver samtidig kommandolinjefærdigheder fra en specialist.

Sikkerhed

Protokollen giver ikke mulighed for brug af hverken kryptering eller datagodkendelse. Derfor er den sårbar over for enhver form for angreb , som dens transport, dvs. TCP-protokollen, er sårbar over for. Til funktionaliteten af ​​fjernadgang til systemet bruges SSH -netværksprotokollen (især dens version 2) i øjeblikket , under oprettelsen af ​​hvilken vægten blev lagt på sikkerhedsproblemer. Så husk på, at en Telnet-session er ret usikker, medmindre den er på et fuldt kontrolleret netværk eller med netværkslagssikkerhed (forskellige implementeringer af virtuelle private netværk ). På grund af Telnets upålidelighed som et middel til at styre operativsystemer, er de for længst blevet forladt.

Telnet og andre protokoller

I internetteknologisamfundet bruges Telnet-klienten nogle gange til at give manuel adgang (for eksempel til fejlfindingsformål) til applikationslagsprotokoller såsom HTTP , IRC , SMTP , POP3 og andre tekstbaserede protokoller baseret på TCP-transporten. Brug af en telnet-klient som en TCP-klient kan dog forårsage følgende uønskede virkninger:

Programmer som netcat giver ren TCP-adgang, men der kræves specielle tricks (på en eller anden måde stty -icrnlpå et UNIX-system) for at sende en linjefeed som CR LF (som kræves af mange protokoller). Typisk vil en Telnet-klient som standard sende enhver ny linje som CR LF, uanset dens kodning på klientens system. Til debugging af adgang til applikationsprotokoller (undtagen FTP og faktisk Telnet), kan du også bruge PuTTY -klienten i Raw-tilstand (ren adgang til TCP) - PuTTY konverterer linjeskift separat fra Telnet-protokolunderstøttelse.

Links

Noter

  1. Beliggende i%SystemRoot%\System32\telnet.exe
  2. Dataene kan ændres (for eksempel kan den mest signifikante bit nulstilles), hvis input fra en terminal modtog data, hvis accept ikke blev bekræftet af den anden.
  3. RFC 2066  - Telnet Charset Option