14.9. Implementacja klienta telnet

Problem

Chcemy połączyć się z usługą telnet lub użyć telnetu w celu uzyskania niskopoziomowego dostępu do innego serwera.

Rozwiązanie

Można skorzystać z modułu Net::Telnet dostępnego w standardowej bibliotece Ruby.

W kodzie zamieszczonym poniżej wykorzystano obiekt Telnet do symulowania klienta HTTP. Skryt przesyła żądanie HTTP do serwera WWW pod adresem http://www.oreilly.com. Każdy fragment danych odebrany z serwera WWW jest przekazywany do bloku kodowego, a rozmiar tego fragmentu dodawany jest do ogólnej ilości odczytanych bajtów. Na koniec serwer WWW przestaje przesyłać dane i następuje zakończenie sesji telnet z powodu przekroczenia limitu czasu.

require 'net/telnet' webserver = Net::Telnet::new('Host' ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.