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

Podobne dokumenty