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.
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").
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.
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-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.
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. |
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.
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.
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.
URI- ordninger | |
---|---|
Officiel | |
uofficiel |
TCP / IP-protokoller efter lag af OSI-modellen | Grundlæggende|
---|---|
Fysisk | |
kanaliseret | |
netværk | |
Transportere | |
session | |
Repræsentation | |
Anvendt | |
Andet anvendt | |
Liste over TCP- og UDP-porte |