Telnet: Przewodnik po Diagnostyce Sieciowej
Telnet, czyli protokół sieciowy, stanowi fundament dla zdalnego dostępu do komputerów. Jego początki sięgają roku 1969, co czyni go jednym z pionierskich rozwiązań w dziedzinie komunikacji sieciowej.
Współcześnie, Telnet ustąpił miejsca nowocześniejszemu protokołowi SSH (Secure Shell). SSH to również protokół komunikacji sieciowej, ale zapewnia administratorom bezpieczne połączenia ze zdalnymi systemami.
Obecnie, Telnet znajduje zastosowanie głównie w procesie diagnostyki i rozwiązywania problemów związanych z połączeniami sieciowymi. Zrozumienie poleceń Telnet może znacząco ułatwić zarządzanie siecią.
W niniejszym artykule dokładnie omówimy polecenia Telnet, ich funkcjonowanie oraz zastosowanie w diagnozowaniu problemów z siecią. Zapraszam do lektury!
Czym Jest Telnet?
Telnet, rozwijany jako Teletype Network, jest protokołem sieciowym oferującym interfejs wiersza poleceń do komunikacji z serwerem. Administratorzy systemów i sieci używają go do uzyskiwania zdalnej kontroli i przeprowadzania różnorodnych operacji, w tym wstępnej konfiguracji urządzeń.
Do korzystania z Telnetu potrzebny jest klient Telnet. Pozwala on na logowanie i korzystanie z aplikacji na zdalnych systemach za pośrednictwem protokołu TCP/IP. Klient Telnet komunikuje się z aplikacją serwera Telnet w celu wykonania żądanych operacji. Klient Telnet jest dostępny w większości współczesnych systemów operacyjnych, w tym Windows, Linux i macOS.
Warto zaznaczyć, że w tym artykule termin „Telnet” odnosi się do „Klienta Telnet”, chyba że wyraźnie zaznaczono inaczej.
Czy Telnet Jest Bezpieczny?
W momencie powstania, w roku 1969, bezpieczeństwo nie było priorytetem w operacjach sieciowych. Z tego powodu, Telnet nie wykorzystuje szyfrowania. Jego brak zabezpieczeń sprawia, że nie jest on rekomendowany do łączenia się z klientami zdalnymi przez sieć TCP/IP. Używanie Telnetu w taki sposób naraża na ataki, w których niezaszyfrowane dane mogą zostać przechwycone. Bezpieczną alternatywą jest SSH, który umożliwia zdalny dostęp do serwera w sposób zabezpieczony.
Jak Funkcjonuje Telnet?
Poniżej znajduje się uproszczony schemat działania protokołu Telnet.
Działanie Telnetu
Telnet opiera się na komunikacji tekstowej, tworząc interaktywny system dwukierunkowej komunikacji (protokół klient-serwer). Transmisja danych odbywa się przy użyciu połączeń ośmiobitowych. Do korzystania z Telnetu niezbędne jest posiadanie klawiatury i ekranu podłączonych do terminala.
Użytkownik wprowadza polecenie w terminalu, aby nawiązać połączenie z odległym komputerem. Po uzyskaniu połączenia Telnet daje kontrolę nad serwerem, w tym jego plikami i działającymi procesami.
Aby połączyć się ze zdalnym serwerem, użytkownik musi wprowadzić polecenie „telnet” w wierszu poleceń. Ogólna składnia to:
telnet hostname port
Po nawiązaniu połączenia, można korzystać z poleceń Telnet w celu wykonywania dalszych operacji.
Telnet może służyć do różnorodnych celów, w tym do:
- Sprawdzania otwartych portów
- Edycji plików i uruchamiania programów
- Konfigurowania urządzeń sieciowych, takich jak przełączniki i routery
Aby zakończyć sesję, należy wpisać „quit” w wierszu poleceń Telnet.
Włączanie Klienta Telnet w Windows, Linux i macOS
Klient Telnet jest dostępny na wszystkich wiodących platformach i systemach operacyjnych. Należy go jednak zainstalować lub aktywować przed rozpoczęciem użytkowania.
#1. Windows
W systemach Windows 7 i nowszych (8, 10, 11) oraz Windows Vista, klienta Telnet można włączyć wykonując poniższe kroki:
- Otwórz menu Start i wyszukaj „Panel sterowania”. Panel sterowania można również uruchomić naciskając klawisze Win + R i wpisując „control”.
- Wybierz „Programy” > „Programy i funkcje”.
- Kliknij opcję „Włącz lub wyłącz funkcje systemu Windows” w lewym panelu.
- Zaznacz pole wyboru obok „Klient Telnet” i kliknij „OK”.
- Kliknij „Zamknij” gdy system Windows zakończy aktywację i wyświetli komunikat „System Windows zakończył żądaną zmianę”.
Uwaga: Nie jest konieczne ponowne uruchamianie komputera, aby zacząć korzystać z klienta Telnet.
#2. Linux
Podobnie jak Windows, Linux domyślnie nie ma zainstalowanego Telnetu.
Aby zainstalować Telnet w systemie Ubuntu, użyj następującego polecenia:
# sudo apt-get install telnet
Uwaga: Polecenie instalacyjne może się różnić w zależności od dystrybucji Linuksa.
#3. macOS
Telnet jest także dostępny w systemie macOS. Do instalacji potrzebny jest Homebrew. Jeżeli Homebrew nie jest zainstalowany, możesz go zainstalować, wprowadzając w terminalu następujące polecenie:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
System poprosi o podanie hasła administratora w celu autoryzacji instalacji.
Po zainstalowaniu Homebrew, wpisz następujące polecenie, aby zainstalować Telnet:
brew install telnet
Zastosowanie Telnetu w Testowaniu i Rozwiązywaniu Problemów Sieciowych
Mimo że Telnet nie jest idealny do zdalnych połączeń, wciąż jest przydatny do testowania i diagnozowania problemów z połączeniami sieciowymi.
Spójrzmy na składnię polecenia Telnet:
telnet <adres IP serwera/hosta> <port>
W tym przypadku, adres IP serwera/hosta odnosi się do serwera, z którym próbujemy się połączyć. Port to numer portu TCP.
Przykładowo, aby nawiązać połączenie z serwerem o adresie example.com na porcie 80, należy wprowadzić polecenie:
telnet example.com 80
Aby poprawnie zdiagnozować problem, konieczna jest znajomość adresu IP/nazwy zdalnego serwera oraz numeru portu.
Zaczynajmy.
Diagnostyka Serwerów WWW
Telnet oferuje prostą metodę sprawdzania połączenia z serwerem. Wystarczy połączyć się z adresem IP serwera/hosta oraz portem, który akceptuje połączenie.
Na przykład, jeśli chcesz połączyć się z adresem 23.45.75.22 na porcie 532, musisz wprowadzić polecenie:
telnet 23.45.75.22 532
Możliwe są trzy scenariusze:
Wiele czynników może powodować niepowodzenie połączenia z serwerem zdalnym za pomocą Telnetu. Jeśli Telnet nie wyświetla żadnego komunikatu o błędzie, przyczyną może być zapora sieciowa lub program antywirusowy blokujący połączenie po stronie użytkownika lub serwera.
Po nawiązaniu połączenia z geefklare.com na porcie 80, serwer natychmiast zacznie oczekiwać na kolejne polecenia.
telnet geefklare.com 80 Connected to newsblog.pl.com. Escape character is '^]'.
Teraz wprowadź następujące polecenie:
GET / HTTP/1.1 Host: newsblog.pl.com
Serwer zwróci poniższe informacje:
HTTP/1.1 200 OK Date: Fri, 18 Nov 2022 04:40:33 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 16 X-Frame-Options: SAMEORIGIN Referrer-Policy: same-origin Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 [Additional server output follows]
Poniżej przykład nieudanego połączenia z serwerem:
telnet 23.45.75.222 532 Connecting To 23.45.75.222...Could not open a connection to the host on port 532: Connect failed
Sprawdzanie Dostępności Portu
Jeśli serwer jest dostępny zdalnie przez Telnet, można go wykorzystać także do sprawdzenia, czy port jest otwarty.
Aby sprawdzić, czy port na serwerze jest otwarty, użyj polecenia:
telnet <adres IP serwera> <port>
Przykładowo, jeśli adres IP serwera to 23.45.47.53, a port, który chcemy sprawdzić, to 532:
telnet 23.45.47.53 532
Gdy polecenie zakończy się powodzeniem, pojawi się pusty ekran, co oznacza, że port jest otwarty. Jeśli pojawi się komunikat „łączenie…” a następnie błąd, port jest niedostępny.
Connection to 23.45.47.53:532 - fail Error #110 (Connection timed out)
Diagnostyka Serwerów Poczty SMTP
Simple Mail Transfer Protocol (SMTP) zarządza komunikacją między serwerami pocztowymi.
Możesz użyć Telnetu do diagnozowania problemów z serwerami SMTP, sprawdzając, czy prawidłowo wysyłają i odbierają wiadomości. W tym celu należy ręcznie wysłać żądania wiadomości do serwera SMTP. W przypadku prawidłowego działania, serwer odpowie na żądania.
Telnet pozwala na sprawdzenie połączenia STMP na dwa sposoby:
Aby uruchomić przykładową wymianę, wprowadź w terminalu następujące polecenie:
telnet mail.newsblog.pl.com 25 Trying 192.168.0.68… Connected to mail.newsblog.pl.com Escape character is '^]'. 220-mail.newsblog.pl.com ESMTP Exim 4.7 220-We do not authorize the use of this system to 220 transport unsolicited and/or bulk e-mail.
EHLO mail.newsblog.pl.com 250-newsblog.pl.com Hello newsblog.pl.com [192.168.3.200] 250-AUTH PLAIN LOGIN QUIT
Dwa dodatkowe polecenia wprowadzone przez użytkownika to:
Polecenie EHLO identyfikuje nazwę domeny przed użyciem polecenia MAIL FROM. Polecenie QUIT zakańcza sesję Telnet.
Szczegółowe informacje na temat używania Telnetu do testowania komunikacji SMTP na serwerach Exchange można znaleźć w tym artykule.
Diagnostyka Serwera FTP
Podobnie jak w przypadku serwerów SMTP i WWW, Telnet można wykorzystać do rozwiązywania problemów z serwerami FTP. Należy po prostu wprowadzić adres IP serwera FTP i połączyć się z portem 21.
telnet ftp.newsblog.pl.com 21
Po pomyślnej próbie, nawiązane zostanie połączenie z serwerem. W przeciwnym razie wyświetli się komunikat o błędzie.
Error #0 (php_network_getaddresses: getaddrinfo failed: No address associated with hostname)
Diagnostyka SSH
SSH to współczesny protokół służący do bezpiecznych połączeń, który zastępuje Telnet. Możesz użyć Telnetu do sprawdzenia, czy SSH działa poprawnie na serwerze.
W tym celu, użyj polecenia Telnet z adresem IP serwera i portem 22.
telnet newsblog.pl.com 22 Trying 192.168.0.62… Connected to newsblog.pl.com. Escape character is '^]'. SSH-2.0-OpenSSH_5.3
Podsumowanie
Telnet to przydatne narzędzie do diagnozowania połączeń sieciowych. Pozwala na efektywne rozwiązywanie problemów bez konieczności używania bardziej zaawansowanych narzędzi lub poleceń. Za jego pomocą można sprawdzić dostępność serwera WWW, otwarte porty oraz protokoły SSH i FTP.
Zapraszam do zapoznania się z artykułem dotyczącym rozwiązania błędu „nie znaleziono polecenia telnet”.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.