telnet to prosty klient protokołu TELNET, ale w codziennej pracy admina i tak używasz go głównie do jednego: sprawdzenia, czy da się otworzyć połączenie TCP na wybranym porcie zdalnego hosta. Wpisujesz telnet serwer 443 i od razu widzisz, czy port odpowiada, czy wisi w ciszy, czy odbija connection refused. To najszybszy sposób, żeby odpowiedzieć na pytanie „czy usługa w ogóle nasłuchuje i czy zapora mnie przepuszcza”. Bonusowo możesz nim ręcznie pogadać z tekstowym serwerem (HTTP, SMTP, POP3), wklepując komendy protokołu palcami. Uwaga: telnet przesyła wszystko czystym tekstem, więc do prawdziwego logowania na maszyny nikt go dziś nie używa — od tego jest SSH.
Składnia i najważniejsze opcje
Podstawowa forma to telnet [opcje] host [port]. Jeśli pominiesz port, klient próbuje domyślnego portu 23.
-4— wymusza rozwiązywanie nazwy i połączenie po IPv4.-6— wymusza IPv6, przydatne gdy host ma oba rekordy, a Ty chcesz przetestować konkretny.-e CHAR— ustawia własny znak ucieczki (domyślnieCtrl-]), który przenosi Cię do trybutelnet>.-E— całkowicie wyłącza znak ucieczki (żaden znak nie przerwie sesji).-l user— podaje nazwę użytkownika przekazywaną do zdalnego systemu przy logowaniu.-a— próbuje automatycznego logowania z użyciem bieżącej nazwy użytkownika.-8— żąda 8-bitowej ścieżki danych (przydatne przy transmisji znaków spoza ASCII).
Przykłady użycia
telnet smtp.example.com 25— sprawdza, czy serwer poczty przyjmuje połączenia na porcie SMTP i pokazuje banner powitalny.telnet 192.168.1.10 3306— testuje, czy port MySQL jest otwarty na maszynie w sieci lokalnej (bez logowania, tylko fakt łączności).telnet -4 przyklad.pl 80— wymusza IPv4 i łączy się z portem HTTP; możesz potem wpisaćGET / HTTP/1.0i dwa entery, żeby zobaczyć surową odpowiedź serwera.telnet -6 ::1 22— sprawdza po IPv6, czy port SSH lokalnie odpowiada.telnet router.local— łączy się na domyślnym porcie 23; klawiszemCtrl-]wchodzisz w trybtelnet>, gdzie komendaquitkończy sesję.
Częste błędy i pułapki
Connection refused oznacza, że host odpowiada, ale na tym porcie nic nie nasłuchuje. Zawieszenie na „Trying…” to zwykle zapora, która po cichu dropuje pakiety — nie dostaniesz jasnego komunikatu, po prostu czekasz. Druga pułapka: na wielu współczesnych dystrybucjach (Debian, Ubuntu, RHEL) telnet nie jest instalowany domyślnie — musisz doinstalować pakiet, często nazwany telnet lub inetutils-telnet. Nie myl też klienta z serwerem telnetd (usługa nasłuchująca) — ten drugi jest dziś uznawany za dziurę bezpieczeństwa i zwykle wyłączony. I pamiętaj: to, że telnet otworzył port, nie znaczy, że usługa działa poprawnie na poziomie aplikacji.