Poznaj polecenia Telnet do testowania i rozwiązywania problemów z połączeniem

Photo of author

By maciekx

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:

  • Połączenie z serwerem zakończy się sukcesem. Wyświetli się komunikat „Connected to server” lub podobny, a następnie serwer może oczekiwać na dalsze polecenia.
  • Połączenie z serwerem nie powiedzie się. W takim przypadku mogą pojawić się komunikaty takie jak „Connection failed” lub „Connection refused”.
  • Telnet nie zwróci żadnego komunikatu.
  • 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:

  • Testowanie przepływu poczty z Internetu do serwera pocztowego.
  • Testowanie przepływu poczty z Twojego serwera pocztowego do innego serwera.
  • 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:

  • EHLO mail.newsblog.pl.com
  • QUIT
  • 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