Telnet
Telnet (zkratka z Telecommunication Network) je v informatice označení protokolu používaném v počítačových sítích, který pomocí stejnojmenné aplikace umožňuje uživateli připojení ke vzdálenému počítači.

Charakteristika
Protokol telnet pracuje na aplikační vrstvě používaný TCP/IP. Používá se v Internetu pro realizaci spojení typu klient-server protokolem TCP, přičemž přenáší osmibitové znaky oběma směry (duplexní spojení). Serverová část standardně naslouchá na portu číslo 23. Součástí protokolu je vyjednání nastavení určitých voleb důležitých pro vzájemnou komunikaci.

Program telnet
Telnet je též označení pro program, který realizoval komunikaci mezi dvěma počítači pomocí telnet protokolu. Program je dodnes součástí Microsoft Windows a unixových systémů. Dříve se používal (spolu s protokolem telnet) pro připojení ke vzdálenému počítači prostřednictvím počítačové sítě jako emulace terminálu, která poskytovala možnost práce uživatele na vzdáleném počítači v příkazovém řádku. Telnet tak byl nástupcem terminálů, ze kterých se uživatelé připojovali ke vzdálenému počítači pomocí sériové linky. Hlavní nevýhodou telnetu je absence šifrování přenášených dat, a proto dnes uživatelé místo telnetu používají protokol SSH.

V současné době se program telnet používá pro ruční komunikaci mezi počítačovými programy (například simulace připojení webového prohlížeče k webovému serveru, při simulaci SMTP protokolu pro přepravu elektronické pošty a podobně).

Základní služby Telnetu
V dokumentu RFC 854 jsou definovány tři základní služby:

Síťový virtuální terminál (NVT – Network Virtual Terminal), který poskytuje standardní rozhraní.
Vyjednávání klienta/serveru o nastavení určitých voleb
Symetrické zobrazení terminálu a procesů.
Síťový virtuální terminál zajišťuje průhlednost všech operací vůči uživateli. Nejsou zde rozdíly mezi jednotlivými komunikujícími zařízeními. Virtuální terminál poskytuje obecnou sadu příkazů pro všechny typy zařízení. Pro přenos využívá spolehlivé přenosové služby TCP, ale jen poloduplexním způsobem.

Definovaný formát NVT používá sedmibitový kód ASCII pro znaky a zobrazení. Díky tomu může Telnet operovat na různých operačních systémech. Klávesnice NVT generuje všech 128 kódů ASCII pomocí kláves, klávesových kombinací.

Příkazy Telnetu vyjednávání o volbách
Přestože obě komunikující strany předpokládají, že je protější strana vybavena NVT, proběhne nejdříve výměna údajů, ve které se obě strany dohodnou na určitých parametrech a volbách komunikace. Pokud jedna strana neumí použít danou volbu, požadavek zamítne. Strany však musí dodržet minimální standard NVT.

Existují čtyři možné požadavky:

WILL - odesílatel chce danou volbu zapnout
DO - odesílatel chce, aby příjemce danou volbu zapnul
WONT - odesílatel chce danou volbu vypnout
DONT - odesílatel chce, aby příjemce danou volbu vypnul
Lidé si občas pletou protokol telnet s programem telnet, který dokáže sloužit jako klient pro připojení na telnetový nebo jiný server používající plaintext TCP protokol.

Bezpečnost
Když byl telnet vyvinut v roce 1969, většina uživatelů počítačové sítě byla buď na univerzitách, ve vládě nebo ve velkých společnostech. Za této skutečnosti nebyla bezpečnost brána tak vážně jako po celosvětovém rozmachu Internetu. Jak se zvyšoval počet uživatelů internetu, rostl také počet těch, kteří se zkoušeli nabourat do serverů ostatních. Tím vzrostla potřeba šifrování.

Experti na počítačovou bezpečnost již nadále nedoporučovali použití telnetu pro vzdálený přístup k serverům pro následují důvody: Telnet standardně nešifroval žádná data odesílaná do internetu (včetně hesel), často se také dala komunikace přímo odposlouchávat a dále takto odposlechnutá hesla zneužít; kdokoliv kdo měl přístup do routeru, switche nebo hubu umístěného na síti mezi dvěma zařízeními, kde byl telnet používán, mohl zachytit celou jejich komunikaci a získat tak hesla a vše co bylo napsáno použitím několika běžných programů jako tcpdump a Wireshark. Většina implementací TELNETu postrádala jakékoliv ověřování, které by bylo schopno zajistit, aby nemohlo docházet k odposlouchávání. Většina běžně užívaných klientů telnetu měla několik zranitelných míst zjištěných v průběhu let.

Tyto bezpečnostní nedostatky způsobily rapidní opouštění od použití telnetu, zvláště pak v internetu ve prospěch protokolu ssh, který byl poprvé uvolněn v roce 1995. SSH poskytovalo většinu funkcí telnetu a navíc silné šifrování, které bránilo v získávání hesel a veřejný klíč, který sloužil k ověření vzdáleného počítače.

Jak se stalo u mnoha původních internetových protokolů, vznikla rozšíření, která telnetu dala TLS bezpečnost a SASL ověřování a snažila se opravit původní nedostatky. Stále však byly části protokolu, které tyto rozšíření nepodporovaly.

Využití pro ladění
Klientským programem telnetu se lze pro testovací účely připojit na jinou textově orientovanou službu Internetu. Lze tak například simulovat činnost webového prohlížeče – zadáním příkazu (pozor na velikost písmen):

telnet cs.wikipedia.org 80
GET / HTTP/1.0
Host: cs.wikipedia.org
a stisknutím 2× Enter se pomocí HTTP protokolu provede nejprve připojení k webovému serveru a pak žádost o zobrazení hlavní stránky Wikipedie. Podobným jednoduchým postupem můžeme snadno v případě problémů zjistit, zda nějaká služba vůbec běží a zda alespoň v základních rysech funguje.