Na początek wykorzystamy telnet do celu, dla którego został pierwotnie skonstruowany, czyli podłączymy się do innego komputera w sieci. Największym problemem zapewne będzie znalezienie takiego komputera, jako że praktycznie nikt ze względów bezpieczeństwa nie udostępnia dostępu do swoich komputerów za pomocą nieszyfrowanych połączeń. Zazwyczaj są to serwery w sieciach lokalnych (firmowych, studenckich) i są przystosowane do ściśle określonych zadań (np. można się na nie zalogować tylko raz, w celu zmiany domyślnego hasła). Jeżeli jednak chcesz mieć dostęp do takiego komputera, wystarczy po uruchomieniu telnetu wpisać polecenie: open nazwa_komputera_lub_adres_ip, np.: open 172.16.2.95, następnie podać login i hasło, aby komputer bez oporów zaprosił Was do środka. Teraz, znając polecenia zdalnego systemu (zapewne będzie to Linux lub podobny), możesz na nim pracować tak, jakbyście byli przy nim fizyczne! Ani odległość, ani szybkość łącza nie ma tu żadnego znaczenia. Siedząc wygodnie w domu, macie możliwość bezproblemowej pracy na odległym komputerze. Możesz wykonać czynności takie, jak: links lub lynx przeglądarki WWW pracujące w trybie tekstowym. Links dodatkowo obsługuje ramki. mail lub pine programy do wysyłania i odbierania poczty e-mail. ftp aplikacja do łączenia się z serwerami ftp. mc Midnight Commander, klon popularnego Norton Commandera. wget uniwersalna aplikacja do pobierania plików oraz pobierania całych serwisów WWW. slrn program do obsługi grup dyskusyjnych. Połączenie kończy polecenie exit. Ze względu na jawność danych przesyłanych za pomocą telnetu nie może być on stosowany do połączeń wymagających poufności. Dlatego też został on praktycznie wyparty przez inny protokół, zwany ssh. Działa on na identycznej zasadzie, z tym tylko, że zapewnia on przez cały czas połączenia bezpieczną, szyfrowaną transmisję danych, a co najważniejsze odbywa się to w zupełnie niezauważalny sposób.
Przy pierwszym podłączeniu do komputera będziecie musieli zaakceptować jego odcisk palca. Jest to ciąg znaków, niepowtarzalny i charakterystyczny dla każdego serwera, dzięki czemu nie jest możliwe podszycie się pod czyjś komputer. Po podaniu loginu i hasła, identycznie jak przy sesji z wykorzystaniem telnetu, możesz w praktycznie dowolny (ale ograniczony przez administratora) sposób zarządzać komputerem. Wysyłanie i odbieranie wiadomości e-mail przez Telnet Załóżmy, że masz konto e-mail o nazwie franek@poczta.pl w domenie Poczta.pl. Serwer odbioru poczty nazywa się pop3.poczta.pl, wysyłanie poczty odbywa się poprzez smtp.poczta.pl, hasło do skrzynki e-mail brzmi alamakota. W tym celu wykonajcie następujące czynności: Uruchom telnet. Wpisz open pop3.poczta.pl 110. Po zgłoszeniu się serwera wpisz USER login, gdzie login to nazwa konta (np. USER franek). Następnie wpisz PASS hasło, oczywiście podając hasło do skrzynki e-mail (czyli np. PASS alamakota). Jeżeli dane będą poprawne, serwer poinformuje o zawartości skrzynki, czyli liczbie e- maili. Jeżeli chcesz odczytać np. 50 e-mail, wystarczy podać komendę RETR 50. Po obejrzeniu e-maila zakończ sesję poleceniem QUIT. Liczba 110 oznacza tzw. port działania usługi. Na jednym komputerze jednocześnie może działać bardzo dużo różnych usług poprzez numer portu określacie typ tej, z której chcesz skorzystać. Np. odbieranie e-maili odbywa się standardowo na porcie 110, wysyłanie na 25, przeglądanie stron WWW to port 80, grupy dyskusyjne 119 itd. Podobnie jak w mieszkaniu, gdzie w zależności od wyboru drzwi można skorzystać z różnych jego funkcji (drzwi na lewo to sypialnia, na prawo kuchnia, a prosto to wyjście na zewnątrz). Przykładowa sesja może wyglądać więc mniej więcej tak: Connection closed host. by foreign +OK POP3 [213.180.130.206] 1.20 server ready USER franek +OK User name accepted, password please PASS alamakota +OK Mailbox open, 485 messages, new: 485, your primary account: franek@poczta.pl, message quota: 0 kb RETR 485 +OK 1489 (tu informacje m.in. o trasie e-maila) Treść e-maila.quit +OK Sayonara
Prawda, że proste? Dokładnie w identyczny sposób działają wszystkie programy do obsługi poczty, z tą różnicą, że wszystkie polecenia podawane są automatycznie, bez ingerencji użytkownika. Komendy wykorzystywane do odbioru poczty przedstawione są w tabeli 2. Wybrane polecenia protokołu odbioru poczty (POP3): USER nazwa zalogowanie się na serwerze pod daną nazwą użytkownika PASS hasło podanie hasła do skrzynki pocztowej STAT wyświetla informacje o skrzynce e-mail, liczbie i rozmiarze wszystkich wiadomości LIST wyświetla spis wszystkich wiadomości oraz rozmiar każdej z nich TOP numer x wyświetla x linii nagłówka wiadomości o podanym numerze RETR numer wyświetla treść wiadomości o podanym numerze DELE numer kasuje e-mail o danym numerze HELP wyświetla krótką pomoc spis dostępnych komend RSET anuluje wszystkie operacje na skrzynce (kasowanie wiadomości) NOOP nie robi nic. Polecenie używane, aby podtrzymać połączenie, jako że wiele serwerów automatycznie rozłącza sesję po określonym czasie nieaktywności QUIT kończy sesję i rozłącza się Po każdej komendzie zwracany jest jej status oraz ewentualny komentarz. Jeżeli polecenie zostało wykonane poprawnie, wyświetlane jest +OK, w razie błędu (złe polecenie, literówka, niewłaściwa liczba parametrów itp.) pojawia się ERR. Wysyłanie wiadomości e-mail W bardzo podobny sposób możesz również przy pomocy telnetu wysyłać pocztę. Oprócz innych komend zasadniczymi różnicami będzie numer portu, który można wykorzystać (jak było wspomniane wcześniej, będzie to tym razem port numer 25), oraz zjawisko autoryzacji poczty. Autoryzacja poczty jest procedurą dodatkowego potwierdzenia tożsamości nadawcy e-maila. Bez tego praktycznie każdy mógłby wysyłać pocztę w dowolnym imieniu na dowolny adres. Oczywiście w prosty sposób prowadziłoby to do niekontrolowanego zalewu spamem i wirusami. Będzie to niewielkim utrudnieniem podczas sesji telnetem, ale rzecz jasna nie ma rzeczy niemożliwych. Najpierw jednak musicie zakodować swój login i hasło za pomocą algorytmu Base64. Najprościej posłużyć się gotowym rozwiązaniem: wystarczy do formularza na stronie http://makcoder.sourceforge.net/demo/base64.php wpisać najpierw login, a potem hasło, wcisnąć Encode i skopiować zakodowaną informację. Teraz: Uruchom telnet. Wpisz open smtp.poczta.pl 25. Po zgłoszeniu się serwera należy się z nim przywitać komendą HELO. Komputer odpowie na powitanie. Rozpocznij procedurę autoryzacji komendą AUTH LOGIN. Serwer odpowie tajemniczym VXNlcm5hbWU6.
Owa tajemniczość wynika z faktu, że od tego momentu transmisja jest kodowana jeżeli wpiszesz ten ciąg znaków w formularzu na stronie: http://makcoder.sourceforge.net/demo/base64.php i wciśniesz Decode, okaże się, że to nic innego jak zakodowany ciąg Username:. Wpisz zatem swój login, również zakodowany, np. ciąg znaków franek przyjmie postać ZnJhbmVr. Serwer odpowie komunikatem UGFzc3dvcmQ6. Po odkodowaniu oznacza to nic innego jak Password: wpisz zatem Wasze zakodowane hasło (alamakota przeistoczy się w YWxhbWFrb3Rh). Gdy wszystko zostanie poprawnie wpisane, serwer potwierdzi to komunikatem Authentication successful. Teraz wydajcie polecenie MAIL FROM: <franek@poczta.pl>. Serwer odpowie 250 2.1.0 Sender syntax Ok. Czas na podanie odbiorcy e-maila, określ go za pomocą konstrukcji RCPT TO: <franek@poczta.pl >, po czym serwer odpowie 250 ok. Nadszedł czas na wpisanie treści wiadomości wpisz polecenie DATA i po odpowiedzi serwera wprowadźcie informację, którą chcesz wysłać. Aby zakończyć wiadomość, wprowadźc w nowej linii znak kropki (.) i wciśnijcie [Enter]. E-mail zostanie natychmiast przekazany do wysłania. Aby zakończyć sesję, wpisz QUIT. Tak więc przykładowa sesja wygląda następująco: 220 smtp.poczta.pl ESMTP (4) our local time is now Sun, 29 Nov 2005 23:03:40 +0100 HELO dpq29.neoplus.adsl.tpnet.pl 250 smtp.poczta.pl Hello dpq29.neoplus.adsl.tpnet.pl AUTH LOGIN 334 VXNlcm5hbWU6 ZnJhbmVr 334 UGFzc3dvcmQ6 YWxhbWFrb3Rh 235 Authentication successful. MAIL FROM: <franek@poczta.pl> 250 2.1.0 Sender syntax Ok RCPT TO: <franek@poczta.pl> 250 2.1.5 Recipient address syntax Ok; rcpt=<franek@poczta.pl> DATA 354 Start mail input; end with <CRLF>.<CRLF> Raz, dwa, trzy, testujemy e-maila wysylanego telnetem. 250 2.6.1 Message accepted (ps4.test.pl:22118, internal) QUIT 221 2.0.0 smtp.poczta.pl Out Connection closed by foreign host. Podobnie jak podczas odbierania wiadomości, również podczas wysyłania serwer odpowiada komunikatem i statusem wykonania polecenia. W tym jednak przypadku status jest zakodowany do postaci trzycyfrowej liczby. Najważniejsza jest pierwsza cyfra, oznaczająca ogólny stan wykonania komendy. Druga określa kategorię, trzecia zaś precyzuje informację.
Kody komunikatów serwerów SMTP: 2xx operacja wykonana pomyślnie 3xx konieczne jest podanie dalszych danych 4xx operacja wykonana nieprawidłowo, z możliwością kontynuacji 5xx operacja wykonana niepomyślnie