telnet-diagnostic-blog-header-2016

Linux mini-howto: Telnet ověření dostupnosti služeb

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Telnet ověření dostupnosti TCP/IP služeb


Telnet jako nástroj a protokol byl před mnoha a mnoha lety zatracen a nahrazen zejmána kvůli bezpečnostním nedostatkům protokolem ssh, což je zcela v pořádku, v mnoha současných distribucích není již dnes ani nainstalován a přitom byl běžný.

Přesto existuje šikovný způsob jak telnet ještě dnes využít (krom původních účelu) pro základní diagnostiku dostupnosti služeb nad protokolem TCP/IP. Telnet pracuje na aplikační vrstvě TCP/IP a jako takový je schopen otevřít TCP spojení na zadaný port a host a(vzdálený systém), pokud je spojení navázáno lze uvažovat, že alespoň na síťové úrovni je vše v pořádku a s cílový systém(portem = službou) jsme schopni komunikovat.

Předchozí text a informace zní jako banalita, ano, jde o banalitu, ovšem v případě problémů v sítích jsem viděl mnohokrát mladší kolegy postupovat diagnosticky zcela z druhého konce a přitom elementární otázka “poslouchá ti to na portu XYZ, či je to dostupné ze sítě ABC” nebyla řešena jako jedna z prvních, přitom jde o léty ověřenou praxi.

Miniaturní telnet klient najdete dnes na routerech, wifi AP, malých embedded boxech, je možné diagnostikovat tedy např. od zákazníka z hraničního routeru sítě bez nutnosti někam chodit nebo řešit jinou formu spojení, s telnetem lze ověrovat správná nastavení/úpravy firewallu (TCP protokol), lze testovat libovolné TCP protokoly u plaintextových občas i něco více.

Ukázka telnet diagnostiky

WWW (http) protokol je ve své podstatě poměrně jednoduchý bezestavový a vcelku dobře navržený, dnešní internetové prohlížeče nedělají nic jiného než co uděláme s telnetem, připojíme se k www serveru ma port TCP/80 a řekneme si o dokument (index), všimněte si prvního pokusu, pouze jsme ověřili dostupnost portu TCP/80, v dalším pokusu jsme již pomocí HTTP protokolu požádali o dokument, server nám odpověděl stavovým HTTP kódem 301, což je informace o přesměrování, lze vidět, že internetové prohlížeče dělají spousty spousty práce za nás.

telnet-diagnostic-1-2016
telnet-diagnostic-2-2016

HTTP GET, výstup zkrácen
HTTP GET, výstup zkrácen

SMTP diagnostika, SMTP je protokol pro přenos zpráv (emailů), tímto protokolem spolu komunikují klient a poštovní server, případně poštovní servery mezi sebou, jde o jeden z nejstarších protokolů společně s HTTP, ukázka je principiálně velmi podobná, navážeme spojení se SMTP na port TCP/25, pokud se podaří zkusíme si textově odeslat email.

telnet-diagnostic-4-2016

Principiálně lze testovat “cokoliv” v TCP, plaintextové protokoly (lépe řečené nezabezpečené varianty) lze kromě zjištění stavu portu(open/close) přesvědčit i k nějaké interakci jak je vidět na HTTP, SMTP a dále např. často POP3 a IMAP protokoly.

A to je vše!

 

Užívejte moudře a díky za pozornost.
František Havel, MOJEservery.cz