Przegląd klientów telnetu (cz. 1)
Telnet to narzędzie służące do zdalnej pracy na systemach unixowych i VM/VMS. Inne, pracujące w sieci systemy są znacznie gorzej przygotowane w tym zakresie. W artykule zostaną omówione możliwości klientów telnetu dla Windows.
Znaczna część internautów nie korzysta w ogóle z usługi telnetu. To prawda, że z powodzeniem można zostać użytkownikiem sieci ograniczając się do portów 21, 80, 110 (FTP, HTTP i POP3), ale czy aby nie ograniczamy sobie przez to horyzontów? Czy telnet może być użyteczny dla przeciętnego użytkownika sieci? Oczywiście. Oto przykład. Pewnego dnia do jednej z polskich CyberCafe przyszła klientka z zamiarem odczytania poczty z własnego konta, znajdującego się gdzieś, hen na włoskich serwerach. Co prawda lokalny serwer był podłączony do nie byle jakiego łącza (1 Mbps), ale uzyskanie sensownego transferu między polskimi a włoskimi serwerami za pośrednictwem Polpaku jest nie lada problemem. W skrzynce pocztowej zalegało ok. 8 MB pokaźnych maili (przeważnie grafiki w formacie BMP przełożone na MIME). Protokół POP3 (podobnie jak i SMTP) ma jedną poważną wadę - brak możliwości ponowienia transferu tego samego listu, stąd też każdy z listów (o ponad 1 MB rozmiarze) musiał być przesłany bez zerwania transmisji. Okazało się to nie lada problemem. Koniec końców jedynym rozwiązaniem było ściągnięcie inboxu bezpośrednio z serwera (w tym wypadku można było ponowić transfer), niestety usługi telnetowe wspomnianego serwera były zablokowane... Gdyby jednak istniała możliwość dostania się na serwer za pośrednictwem telnetu i uruchomienia dowolnego, unixowego programu pocztowego, problem można by bardzo szybko rozwiązać, przenosząc pliki z obrazkami do innego folderu (na serwerze), a ściągając za pośrednictwem pop3 jedynie istotne informacje. Wnioski: nie pozwólmy zapychać sobie skrzynki pocztowej obrazkami... albo nauczmy się posługiwać telnetem.
Takie przykłady można by mnożyć, choć z drugiej strony znaczna część użytkowników sieci nawet nie zdaje sobie sprawy z możliwości tkwiących w zdalnej pracy na serwerze. Cóż... pozostawmy to więc wtajemniczonym, a nie wtajemniczeni niech dalej płacą koszmarne rachunki pozostawiając on-line własne maszyny w celu ściągnięcia kilkumegabajtowych plików przy bardzo wolnym transferze...
Usługa telnetu jest najłatwiejsza do zrozumienia, jeśli ktoś już zetknął się z systemem UNIX, gdzie gros pracy przebiega na terminalach działających w trybie tekstowym. Użytkownik zalogowany do systemu dostaje do dyspozycji powłokę systemową, tak zwany shell. Z jego poziomu może obsługiwać system przez wpisywanie komend i podawanie parametrów. Nadto każda powłoka, a tych jest kilka, żeby tylko wymienić sh, zsh, csh, tcsh, ksh, bash, oferuje pewien zestaw własnych komend, wkompilowanych w jej kod, może interpretować skrypty, dokonywać przekierowania wejścia i wyjścia etc. Do powłoki, a tym samym do systemu, można się dostać pokonawszy wcześniej program o nazwie login, dokonujący weryfikacji użytkownika i sprawdzający, czy ma on prawo pracować na danej maszynie.
Telnet, jako się rzekło, jest usługą pozwalającą na zdalne zalogowanie na danej maszynie przy użyciu protokołu TCP/IP. Program wykonujący tę usługę nazywa się również „telnet” i w istocie jest emulatorem lokalnego terminala. Z punktu widzenia systemu nie jest bowiem istotne, czy użytkownik pracuje lokalnie, czy też zdalnie, jedyną różnicą może być szybkość odpowiedzi systemu na polecenia. Pod wszystkimi innymi względami terminal emulowany przez program telnet zachowuje się dokładnie tak samo, jako lokalny terminal serwera, czyli najpierw daje nam do obejrzenia login, a po wpisaniu identyfikatora i hasła udostępnia powłokę.
Systemowy telnet Windows 95
Jedna, przypuszczalne najczęściej używana aplikacja omawianego typu, dostarczana jest razem z Windows 95. Możemy się o tym przekonać wpisując telnet w polu Uruchom systemowego menu Start. Program oferuje rozbudowane opcje preferencji, w tym ustawianie rodzaju i rozmiaru czcionki (można użyć fontów bitmapowych albo True Type), kolorów, czy rozmiaru bufora tekstowego. Dodatkowo istnieje możliwość zrobienia tzw. „loga” z sesji telnetu. Po wybraniu opcji Rozpocznij logowanie aplikacja zaczyna zapisywać do pliku telnet.log wszystko, co widać na ekranie. Plik ten, tak samo jako sam program, można znaleźć potem w głównym katalogu Windows.
Niestety, repertuar dostępnych terminali ogranicza się do VT-52 oraz VT-100. Ponieważ ten pierwszy jest raczej rzadko używany - czyżby emulacja VT-52 została przewidziana dla osób chcących telnetować się na Atari ST? - systemowy telnet Windows praktycznie oferuje jedynie VT-100. Oczywiście, nie ma możliwości wyświetlania tekstu w różnych kolorach, jedyne, co można zmienić, to globalny kolor tła i równie globalny kolor czcionki. Dodatkowo można włączyć, też globalnie, atrybut podkreślenia i przekreślenia tekstu (ale po co?).
No i na tym właściwie można byłoby skończyć opis działających funkcji Microsoft Telnet 1.0, program zawiera bowiem, jak na swoje rozmiary i stopień komplikacji zadania, jakie ma wykonywać, wręcz niewiarygodną liczbę błędów i wszelkiej maści niedociągnięć. Po pierwsze, wspomniana wyżej funkcja rozszerzania bufora tekstowego, mająca pozwalać użytkownikowi na „przewinięcie” ekranu do 400 linii wstecz, działa tylko częściowo. Zwiększenie bufora ze standardowych 25 do 30 linii, owszem, powiększa ekran terminala, ale dodatkowe linie pozostają puste - terminal nadal pracuje na 25 liniach. A gdy już uda się zmusić program do działania zgodnego z opisem w helpie, to wystarczy „odpalić” na serwerze Midnight Commandera, Pine, Pico czy dowolną inną aplikację działającą w trybie pełnoekranowym, by całą zapisaną dotąd w buforze historię naszej pracy diabli wzięli.
Idąc dalej można zauważyć, że oferowane przez program funkcje wyboru fontu i różnych atrybutów są właściwie fikcją, terminal bowiem działa poprawnie tylko z jedną czcionką, mianowicie Fixedsys Regularny 10 punktów. Proponuję pobawić się chwilę menu czcionek, by naocznie przekonać się o nieoczekiwanych raczej efektach wizualnych towarzyszących zmianie czcionki i jej atrybutów.
Wysoce skomplikowana funkcja Wytnij/Wklej (Copy/Paste) również działa źle, powoduje bowiem, że terminal się zacina i przy wyświetlaniu tekstu (np. rezultatów pracy komendy ls -l) przewijanie ekranu trzeba „poganiać” klawiszem Enter. Jakby tego było mało, jeśli wybierzemy terminal VT-100/ANSI, program miewa tendencję do zgłaszania się serwerowi raz jako VT-100, a raz jako ANSI. Nie ryzykowałbym także zdalnego uruchamiania programu, który wyprowadza potokowo duże ilości tekstu. Program taki nie tylko nie daje się na ogół przerwać kombinacją klawiszy Ctrl+C, ale można mieć nawet trudności z odzyskaniem kontroli nad lokalnym komputerem i systemem Windows, przewijany bowiem w oknie telnetu strumień tekstu angażuje najwyraźniej jakieś 99 procent mocy procesora (!). Jeśli ktoś chce spróbować, proszę wywołać zainstalowaną na prawie każdym serwerze komendę Yes.
Z typowo funkcjonalnych niedociągnięć można wymienić niemożność prostego usunięcia adresu komputera, do którego się ostatnio telnetowaliśmy, z menu „Połącz” programu. Wyśledzenie, że adresy te zapisywane są w rejestrze systemowym, zajmuje chwilę czasu...
Ogólnie Microsoft Telnet 1.0, dostarczany z każdą kopią Windows 95, określiłbym jako zdecydowanie kiepski. Tym bardziej że, jak wynika z umieszczonego w okienku Informacje napisu Copyright 1981-1995, firma Microsoft pracowała nad tym programem czternaście lat...
###ord1,3.bmp
Numer wersji: 1.0
Nazwa pliku: telnet.exe
Rozmiar pliku: 67 KB
Typ programu: rozpowszechniany w pakiecie Windows 95
Anzio Lite
Program działający pod kontrolą Windows 3.x/95/NT. Dosyć interesująca oferta dla tych, którzy potrzebują wygodnego i stabilnego narzędzia. No i o niebo lepszego od systemowego telnetu Windows 95. Niestety, wersja demo ma dwie poważne wady - działa tylko 30 dni, a po uruchomieniu musimy odczekać ok. 15 sekund. Może więc zarejestrować? No tak, ale żądana przez autora kwota 150 USD to po prostu zdzierstwo i żerowanie na użytkowniku - na innych systemach operacyjnych takie narzędzia jak telnet czy ssh są całkowicie darmowe.
Przed uzyskaniem połączenia musimy określić tryb emulacji terminala (VT-200, SCOANSI, at386, anzio, Wyse60, Wyse50, Viewpoint, N7900, C332 lub TV965). Po odczekaniu obowiązkowych 15 sekund Anzio Lite prosi o wprowadzenie nazwy serwera (lub adresu IP) z ew. portem lub określenie portu szeregowego (wraz z szybkością i ustawieniem bitów parzystości). Istnieje także możliwość wykorzystania Anzio Lite jako terminala pracującego za pośrednictwem modemu, pozostańmy jednak przy funkcjach przydatnych z punktu widzenia użytkowników Internetu.
Połączenia z innymi niż 23 port działają... ale tylko połowicznie. Próba połączenia z portem 25 (SMTP) powiedzie się, ale nie będzie można wysłać żadnych poleceń, port 22 (ssh) spowoduje automatyczne... zamknięcie Anzio Lite (mamy prawo jedynie potwierdzić opuszczenie programu i ew. zapisać ustawienia). Prawdopodobnie autor wiedział jak działa telnet, ale jego wiedza nie była w tym zakresie zbyt obszerna. W zakresie połączeń poprzez standardowy port 21 - trzeba przyznać, że wykonał dobrze swoje zadanie, a nasz klient jest poprawnie rozpoznawany przez serwer jako VT-220 bądź ANSI. Pozostałymi typami terminali nie warto się przejmować - są po prostu zbyt egzotyczne... Anzio Lite pozwala także na wprowadzenia własnego „typu terminala”, co ni mniej ni więcej sprowadza się do wpisania ciągu znaków przesyłanego serwerowi jako identyfikację terminala - rzecz zupełnie zbędna i niepotrzebnie wywołująca zamieszanie. Znacznie bardziej przydatna jest możliwość wysyłania po zalogowaniu wybranych zmiennych środowiskowych, szybkiej zmiany kodu przypisanego Backspace (8, 21 lub 127) lub wręcz doczytania z pliku mapy klawiatury (Anzio pozwala także na łączenie map klawiatury i zapisywanie zmodyfikowanych wzorców).
W przeciwieństwie do telnet.exe w Anzio Lite poprawnie działa funkcja Copy/Paste, pozwalająca na manipulowanie dowolnym zaznaczonym blokiem tekstu. Warto nadmienić także o możliwości modyfikacji palety kolorów (co ciekawe, wykonywanej w trybie tekstowym) i zupełnie poprawnej pracy przy wybraniu czcionki innej niż standardowa. Zaletą Anzio jest także możliwość swobodnego manipulowania rozmiarem terminala (począwszy od predefiniowanych rozdzielczości 80x24, 80x2 5, 132x24, 132x25 a skończywszy na ustawieniach użytkownika). Istnieje także możliwość monitorowania kodów kontrolnych przesyłanych pomiędzy serwerem a terminalem... w praktyce zupełnie zbędna, ale właśnie dzięki niej możemy zobaczyć, jak wygląda naprawdę proces komunikacji z serwerem.
Znaczną część funkcji terminala Anzio Lite obejmują rzeczy związane z transferem plików poprzez terminal (kermit, modem), a także drukowaniem przekazywanych danych lub aktualnej zawartości ekranu terminala. Transfer plików poprzez terminal na dzień dzisiejszy jest już zupełnie bezużyteczny - dysponujemy szybszymi i mniej zawodnymi narzędziami, za to możliwość wydruku ekranu terminala w niektórych przypadkach może okazać się przydatna.
Większość z dostępnych w menu opcji konfiguracyjnych widoczna jest także poprzez specjalne tekstowe menu (to ukłon w stronę ludzi przyzwyczajonych do pracy na terminalach tekstowych). Bez większych problemów poprzez ten terminal można korzystać z unixowych aplikacji pełnoekranowych (w tym mc).
Zupełnie zbędne dodatki obejmują możliwość przełączenia terminala w tryb CAPS LOCK (czyżby trudniej było sięgnąć do klawisza?), wstawiania w tło terminala dowolnego obrazka (w formacie BMP lub GIF) z możliwością modyfikowania jasności i kontrastu - co tylko niepotrzebnie zaśmieca ekran, równie nieprzydatną, wbudowaną przeglądarkę do plików lokalnego komputera (sic! - także w trybie tekstowym), opcje pozwalające na ustawienie LF po każdej linii, włączenie Scroll Lock (nie działa). Wątpliwa jest także przydatność tzw. kreatora loginów (login wizard), który automatycznie przesyła zapamiętany login i hasło (tylko kto przy zdrowych zmysłach przechowuje pliki z hasłami na dysku?)
Podsumowanie: zaletą Anzio Lite jest stabilna praca i poprawna emulacja terminala VT-100. Podstawowe wady: niepoprawne łączenie się z innymi portami niż 23, niewygodny układ menu, szereg zbędnych opcji, brak możliwości logowania sesji, wygórowana cena.
###anzio1.gif - Anzio Lite w całej okazałości
###anzio2.gif - Anzio Lite - modyfikacja palety
###anzio3.gif - Anzio Lite - preferencje w trybie tekstowym
Numer wersji: 11.4d
Nazwa pliku: anzz32d.exe
Rozmiar: 470 KB
Typ programu: shareware
Cena: 150 USD
http://www.anzio.com
Vtelnet32
Na pierwszy rzut oka program ten wygląda na rozwinięcie systemowego telnetu z Windows 95. Niestety, pod wieloma względami go naśladuje. Pozwala na komunikację tylko i wyłącznie poprzez port telnetowy (wybór innego portu co prawda pozwala na przesyłanie danych, ale nie są one wyświetlane na ekranie). Operacje Copy/Paste działają, choć równie koszmarnie jak w telnet.exe (Vtelnet32 od czasu do czasu wykonuje „nieprawidłową operację”). Preferencje do tego programu nie są zbyt obszerne i obejmują zmiany kolorów, czcionek (co ciekawe na ekranie często widoczne są dziwne symbole, których nie da się zauważyć w innych telnetach). Typy emulowanych terminali także nikogo nie zaskoczą: VT-100, VT-220, ANSI, xterm. Do tego dochodzi możliwość ustalenia działania klawisza Backspace (BS lub DEL), wyglądu kursora i liczby linii historii (maksymalnie 1000, istnieje możliwość logowania sesji do pliku). Lwią część konfiguracji Vtelneta32 stanowi wybór podkładów (w większości nieprzydatnych, bo źle dopasowanych kolorystycznie).
Próby uruchomienia mc mogą skończyć się sporym bałaganem na ekranie, nie mówiąc już o tym, iż kilka z bardzo istotnych kombinacji klawiszy nie działa (w tym Ctrl+L, Ctrl+C, Ctrl+O), zresztą z prostego powodu - są wykorzystywane przez program. Odradzam próby pracy z unixowymi programami wykorzystującymi pełny ekran - jeśli trzeba, lepiej już posłużyć się innym telnetem. Dodatkowe funkcje Vtelnetu obejmują możliwość wydruku stanu ekranu i transfer plików metodami xmodem i ymodem.
Podsumowanie: darmowy, ale i bezużyteczny programik.
###vtelnet.gif - Vtelnet32 - raczej bezużyteczna aplikacja
Numer wersji: 1.01
Nazwa pliku: vtel101.zip
Rozmiar: 1,3 MB
Typ programu: freeware
Adres autora: hansonsix@aol.com
WinTelnet & FTP Pro
Reklamowany jako najlepszy klient telnetu dla Windows 95. Ale jak w każdej reklamie, dużo w tym przesady. Aplikacja stanowi połączenie dwóch typów klientów: FTP i telnetu. Po uruchomieniu programu na ekranie pojawia się elegancko wykonane menu zawierające listę zdefiniowanych hostów wraz symbolami określającymi typy połączeń (port 21 lub 23). Z tego poziomu możemy bardzo szybko uzyskać połączenie klikając na odpowiednim symbolu, lub stworzyć nowy zestaw parametrów, bądź też bezpośrednio połączyć się z serwerem (na podstawie wpisywanych parametrów). Tworzenie nowego zestawu parametrów ogranicza się do określenia jego typu (telnet, FTP), nazwy hosta (podawanej także w postaci URL). Możemy określić kolorystykę tekstu, rozmiary okna terminala, typ terminala (VT-100 lub ANSI), zestaw znaków, którym się posługujemy (brak standardu ISO), a także włączyć echo lokalne, mapowanie znaków CR->CR,LF i BS->DEL. Możliwe jest także wpisanie docelowych katalogów lokalnych i serwera dla połączeń FTP, a także hasła i nazwy użytkownika. Zbiór parametrów przy tworzeniu połączenia bez dopisywania go do istniejącej listy jest bardzo podobny, wyróżniono jedynie rubrykę pozwalającą na wpisanie adresu hosta w postaci URL (ma to na celu ułatwienie użytkownikowi przenoszenia odnośników bezpośrednio do okna WinTelnetu).
Pierwsza próba połączenia i zalogowania się na serwerze może wszystkich bardzo niemile zaskoczyć, otóż wpisane przed chwilą hasło pojawia się w historii komend i każdy, kto będzie miał przez chwilę dostęp do programu, może z powodzeniem je odczytać. Ta cecha zupełnie dyskwalifikuje wszystkie zalety WinTelnetu. Większość istotnych z punktu widzenia użytkownika telnetu operacji wykonywana jest zupełnie poprawnie, włączając w to pracę z programami działającymi w trybie pełnoekranowym. W preferencjach terminala znajdziemy m.in. możliwość zmiany czcionki (w niektórych przypadkach WinTelnet nieprawidłowo wyświetla czcionki) i definiowania poleceń unixowych. Ostatnie menu to zbiór wyszczególnionych na wydzielonym pasku poleceń, będących skrótami poleceń unixowych z dobranymi parametrami. Ma to na celu ułatwienie pracy początkującym użytkownikom systemów unixowych, ale tak naprawdę wprowadza jedynie niepotrzebne zamieszanie (flagi niektórych z komend dotyczą już dawno nie używanych poleceń i w efekcie nie działają poprawnie). Znacznie lepiej wykonano narzędzie odpowiedzialne za połączenia z serwisami FTP (oferuje ono m.in. możliwość dekompresowania archiwów ZIP w trakcie ściągania plików), ale ten temat wykracza poza ramy niniejszego artykułu.
Podsumowanie: wykonany bardzo elegancko i sprawnie działający klient telnetu. Ze względu na bezpieczeństwo nie należy go używać: przechowuje hasła w historii poleceń. Ciekawy pomysł na przypisanie poleceń unixowych gadżetom w praktyce jest zupełnie bezużyteczny.
###wintel1.gif - WinTelnet - okno z przygotowanymi profilami hostów
###wintel2.gif - WinTelnet - pełna jawność haseł
###wintel3.gif - WinTelnet - sesja w toku
Numer wersji: 2.50
Nazwa pliku: telftp32.exe
Rozmiar: 785 KB
Typ programu: shareware
http://www.igsnet.com/igs
EasyTerm
Niewielki (niecałe 100 KB) i poręczny klient telnetu. Oferuje możliwość połączenia poprzez TCP/IP z serwerem na wybranym porcie (niestety, próby połączenia z portem innym niż 23 nie wypadają najlepiej). Emuluje terminale VT-100 i ANSI. Preferencje pozwalają zmieniać flagi konwersji znaków CR, LF, ustawić echo lokalne, włączyć inwersję ekranu, określić klawisz Delete, a także wybrać jeden z predefiniowanych rozmiarów terminala (kolumny: 24, 36, 48; wiersze: 40, 80, 132, 160). EasyTerm został też zaopatrzony w zestaw opcji pozwalających na wydrukowanie ekranu. Przydatną cechą EasyTerma jest możliwość definiowania własnych klawiszy funkcyjnych.
Podstawową wadą tego terminala jest brak możliwości zmiany czcionki (oryginalna jest prawie nieczytelna). EasyTerm niezbyt dobrze radzi sobie z narzędziami wykorzystującymi tryb pełnoekranowy. W wypadku IRC - przewijana jest tylko ostania linia, zaś Midnight Commander bardzo elegancko czyści bufor programu.
Ogólnie: niewielki, podręczny klient telnetu przydający się do krótkotrwałej pracy dla niewymagających użytkowników.
###easyterm.gif
Numer wersji: 3.3
Nazwa pliku: easyterm.zip
Rozmiar: 40,184
Typ programu: careware
http://www.arachnoid.com/easyterm
Bartłomiej Dramczyk
Konrad Kokoszkiewicz