labts-cw11
Transkrypt
labts-cw11
labts-cw11 Technologie sieciowe — Tekstowe protokoły warstwy aplikacyjnej Informacje ogólne Ćwiczenie skupia się na sposobie działania oraz możliwościach dwóch znanych protokołów tekstowych — FTP (ang. File Transfer Protocol) oraz Telnet (ang. Telecommunication Network). Wprowadzenie Celem ćwiczenia jest zapoznanie się ze specyfikacją i sposobem działania podstawowego protokołu wymiany plików — FTP, zdobycie umiejętności wykorzystania standardowego protokołu sieciowego jakim jest Telnet oraz weryfikacja umiejętności wykorzystania narzędzi do nasłuchiwania ruchu sieciowego (np. Wireshark). Przebieg ćwiczenia Do przeprowadzenie ćwiczenia niezbędne są dwa serwery obsługujące protokół FTP, klient protokołu FTP (ftp w środowisku Windows oraz np. lftp w środowisku Linux), a także klient protokołu Telnet. Wspomniane narzędzia dostępne są na przekazanych przez prowadzącego maszynach wirtualnych. Do zadań szczegółowych należy wskazanie zawartości katalogów roboczego oraz zdalnego, przesłanie/pobranie pliku do/z serwera korzystając z użytkowników o różnych prawach dostępu, a także przetestowanie zadanych w specyfikacji trybów połączeń warstwy transportowej (model podstawowy oraz model z wykorzystaniem innych adresów IP dla przekazywania poleceń protokołu oraz przesyłanych danych). Narzędzia Narzędzia, jakie wykorzystasz: ftp klient protokołu FTP dla systemu Windows, lftp klient protokołu FTP dla systemu GNU/Linux, telnet klient protokołu Telnet zarówno w środowisku Windows jak i Linux, ping wzorcowa implementacja ICMP Echo i ICMP Reply; w tym ćwiczeniu jest to podstawowe narzędzie diagnostyczne, dhclient klient protokołu DHCP dostępny w systemie GNU/Linux. WAŻNE Dla tego ćwiczenie niezbędny jest plik z konfiguracją dostępu. Jest on dostępny pod adresem http://www.put.poznan.pl/ ~cezary.krzyzanowski/ftpaccess Plik ten można pobrać do wirtualnej maszyny używając programu wget: wget www.put.poznan.pl/~cezary.krzyzanowski/ftpaccess 1 labts-cw11 Kolejnośc działań Uwaga! Pamiętaj o sprawdzeniu konfiguracji sieciowej — host oraz dostępne maszyny wirtualne pracować powinny w jednej podsieci. Jeśli maszynom wirtualnym nie przypisany został adres IP wywołaj na nich klienta protokołu DHCP — dhclient. 1. Dostęp do zawartości katalogów. a. Korzystając z aplikacji klienta protokołu FTP połącz się z serwerem FTP. Zweryfikuj możliwości korzystania z konta użytkownika anonimowego (anonymous) oraz użytkownika posiadającego konto w systemie — login: ftpadmin, hasło: ftpadmin. Przebieg sesji zarejestruj posługując się analizatorem Wireshark. Skorzystaj z poleceń: i. help, ii. pwd, iii.cwd, iv. ls oraz !dir (na czym polega różnica między nimi?), v. bye. b. Korzystając z aplikacji klienta protokołu Telnet połącz się z tym samym serwerem i odtwórz uprzednio zarejestrowaną sekwencję poleceń protokołu FTP (przy zachowaniu numeru portu). Zarejestruj przebieg sesji. c. Jeśli wykonanie któregoś z wymienionych wyżej poleceń nie powiodło się, podaj przyczyny uzasadniając odpowiedź odpowiednimi fragmentami rejestracji dokonanej analizatorem Wireshark. 2. Przesłanie pliku do serwera FTP. a. Połącz się z serwerem FTP korzystając z klienta protokołu Telnet oraz konta użytkownika - ftpadmin. Wykonaj polecenie ls -l, jeżeli w katalogu ~/ incoming znajdują się jakiekolwiek pliki tekstowe usuń je poleceniem rm. b. Korzystając z aplikacji klienta protokołu FTP połącz się z serwerem w celu przesłania pliku o nazwie zawierającej nazwisko wykonującego ćwiczenie i zawartości będącej dowolnym fragmentem tekstu (plik powinien zawierać kilkanaście linii). Prześlij spreparowany plik programem FTP na serwer do podkatalogu o nazwie ~/incoming. Przebieg sesji zarejestruj posługując się analizatorem Wireshark. Wykonaj polecenia: i. help, help pwd, help put, help lcd, ii. lcd oraz pwd (zidentyfikuj funkcję tych poleceń), iii.zmień lokalny i zdalny katalog (użyj poleceń lcd oraz cwd), iv. sprawdź czy w aktualnym katalogu klienta FTP znajdują się jakiekolwiek pliki, v. sprawdź czy ten plik znajduje się na serwerze, vi.wyślij plik z systemu Windows 2 na serwer FTP (skorzystaj z polecenia put), labts-cw11 vii.bye, viii. określ kompletną sekwencję komunikatów FTP (przesyłanych w obie strony) będącą wynikiem poleceń wydawanych przez użytkownika w ramach sesji FTP (realizowanej przy użyciu aplikacji klienta FTP). c. Spróbuj odtworzyć wyżej wskazaną sesję korzystając z klienta protokołu Telnet. Jeśli wykonanie pewnych poleceń protokołu FTP nie powiodły się podaj przyczyny uzasadniając odpowiedź fragmentami zarejestrowanej sesji. 3. Topologia połączeń w warstwie transportowej służących transmisji poleceń i danych w ramach sesji FTP. Ćwiczenia 3. oraz 4. są przykładami zastosowania pierwszego ze wskazanych w [1] modelu transferu danych: a. Połącz się z serwerem Linux korzystając z aplikacji klienta protokołu Telnet (użytkownik:ftpadmin, hasło: ftpadmin). Z katalogu ~/incoming usuń pliki tekstowe o nazwach zawierających nazwisko wykonującego ćwiczenie. b. Korzystając z aplikacji klienta protokołu FTP połącz się z serwerem w celu pobrania pliku o nazwie zawierającej nazwisko wykonującego ćwiczenie. Zarejestruj przebieg sesji. Określ kompletną sekwencję komunikatów FTP (przesyłanych w obie strony) będącą wynikiem poleceń wydawanych przez użytkownika w ramach sesji FTP (realizowanej przy użyciu aplikacji klienta FTP). c. Z aktualnego katalogu klienta FTP usuń pliki tekstowe o nazwach zawierających nazwisko wykonującego ćwiczenie. Korzystając z aplikacji klienta protokołu Telnet połącz się z tym samym serwerem i odtwórz uprzednio zarejestrowaną sekwencję poleceń protokołu FTP (przy zachowaniu numeru portu wykorzystywanego przez serwer). Zarejestruj przebieg sesji. d. Jeśli wykonanie któregoś z wymienionych wyżej poleceń nie powiodło się, podaj przyczyny uzasadniając odpowiedź odpowiednimi fragmentami rejestracji dokonanych analizatorem Wireshark. 4. Topologia połączeń w warstwie transportowej służących transmisji poleceń i danych w ramach sesji FTP. Ćwiczenia 3. oraz 4. są przykładami zastosowania pierwszego ze wskazanych w [1] modelu transferu danych: ------------|/---------\| || User || -------||Interface|<--->| User | |\----^----/| ----------------| | | |/------\| FTP Commands |/----V----\| ||Server|<---------------->| User || || PI || FTP Replies || PI || |\--^---/| |\----^----/| | | | | | | -------|/--V---\| Data |/----V----\| -------| File |<--->|Server|<---------------->| User |<--->| File | |System| || DTP || Connection || DTP || |System| -------|\------/| |\---------/| ----------------------------- 3 labts-cw11 Server-FTP USER-FTP Przetestuj drugi wskazany przez [1] model, w którym transfer danych odbywa się między dwoma serwerami FTP: Control -----------Control ---------->| User-FTP |<----------| | User-PI | | | | "C" | | V -----------V --------------------------| Server-FTP | Data Connection | Server-FTP | | "A" |<---------------------->| "B" | -------------- Port (A) Port (B) -------------5. a. Korzystając z klienta protokołu FTP dostępnego w systemie Windows połącz się z dwoma serwerami FTP zainstalowanymi na dostarczonych przez prowadzącego maszynach wirtualnych. Wykorzystaj konto użytkownika ftpadmin z hasłem ftpadmin. b. Zmień tryb działania serwera na pasywny a następnie prześlij przygotowany przez siebie plik tekstowy (o niepustej zawartości) z jednego serwera na drugi. Zwróć uwagę na prawa do zapisu dla danego użytkownika w danej lokalizacji (ograniczone są one do jednego foldera — wskaż którego). Skorzystaj z poleceń: i. ls, ii. cd, iii.literal [komenda] — polecenie umożliwiające bezpośrednie przesyłanie komunikatów ftp, oraz komend protokołu FTP[2]: i. pasv — przełącza tryb działania serwera na pasywny, ii. port [IP oraz port] — wskazuje hosta oraz port, do którego serwer powinien się połączyć przy następnym transferze plików, iii.retr [nazwa pliku] — inicjuje transmisję pliku do zdalnego hosta, iv. stor [nazwa pliku] — rozpoczyna transmisję pliku po stronie zdalnego hosta, v. stat — zwraca informację o aktualnym statusie serwera FTP. c. Wskaż kombinację poleceń niezbędną do przeprowadzenie wyżej wskazanej transmisji (przesłania pliku między serwerami FTP) — posługując się fragmentami rejestracji ruchu dokonanymi za pomocą analizatora Wireshark. Autorzy dr inż. Andrzej Szwabe <[email protected]> mgr inż. Tadeusz Janasiewicz <[email protected]> 4 labts-cw11 Bibliografia [1] File Transfer Protocol. RFC3959. J. Postel. J. Reynolds. październik 1985. [2] List of raw FTP commands. [3] Introduction to Linux - A Hands on Guide. Machtelt Garrels. The Linux Documentaiton Project. lipiec 2008. v1.27. [4] The Linux System Administrators' Guide. Lars Wirzenius. Joanna Oja. Stephen Stafford. Alex Weeks. The Linux Documentaiton Project. lipiec 2005. v0.9. [5] The Linux Network Administrator's Guide, Second Edition. Olaf Kirch. Terry Dawson. The Linux Documentaiton Project. marzec 2000. v1.1. [6] Linux System Administration Made Easy. Steve Frampton. The Linux Documentaiton Project. listopad 1999. v1.06. 5