© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 1 of 14
Laboratorium
– Wykorzystanie program Wireshark do
przechwytywania sesji FTP I TFTP
Topologia sieci
– zadanie 1 (FTP)
W zadaniu 1 zwrócono szczególną uwagę na segmenty TCP przechwycone podczas sesji FTP. Topologia
sieci zawiera k
omputer z dostępem do Internetu.
Topologia sieci
– Zadanie 2 (TFTP)
W zadaniu 2
zwrócono szczególną uwagę na datagramy UDP przechwycone podczas sesji TFTP. Topologia
składa się z komputera podłączonego do przełącznika za pomocą karty sieciowej. Dodatkowo wymagane jest
połączenie konsolowe.
Tabela adresacji (Zadanie 2)
Urządzenie
Interfejs
Adres IP
Maska podsieci
Brama domyślna
S1
VLAN 1
192.168.1.1
255.255.255.0
N/A
PC-A
NIC
192.168.1.3
255.255.255.0
192.168.1.1
Cele nauczania
Zadanie 1:
Rozpoznanie pól nagłówka TCP i analiza ruchu podczas sesji FTP
Zadanie 2:
Rozpoznanie pól nagłówka UDP i analiza ruchu podczas sesji TFTP
Wprowadzenie / Scenariusz
W warstwie transportowej modelu TCP/IP można wyróżnić dwa protokoły: TCP, opisany w RFC 761 oraz i
UDP, opisany w RFC 768.
Oba protokoły wspierają komunikację warstwy wyższej. Na przykład protokół TCP
jest używany podczas sesji http lub FTP. Protokół UDP wykorzystywany jest m. in. przez usługę DNS lub
TFTP.
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 2 of 14
Uwaga: Zrozumienie budowy i
zasady działania protokołów TCP i UDP jest istotną umiejętnością dla
inżyniera sieciowego.
W pierwszej części laboratorium (zadanie 1) będziesz używał programu Wireshark do analizy protokołu TCP
podczas korzystania z usługi FTP. W tej części ćwiczenia połączysz się z serwerem FTP i pobierzesz plik. W
drugiej części laboratorium (zadanie 2) korzystając z programu Wireshark zarejestrujesz sesję TFTP, między
kompute
rem i przełącznikiem i przeanalizujesz protokół UDP.
Uwag:
Używany przełącznik, to Cisco Catalyst 2960s z systemem Cisco IOS Release 15.0(2) (obraz
lanbasek9).
Inne przełączniki również mogą zostać użyte. W zależności od modelu urządzenia i wersji
systemu
operacyjnego IOS polecenia i ich wyniki mogą się nieznacznie różnić od tych przedstawionych w
niniejszej instrukcji.
Uwaga:
Upewnij się, że konfiguracja początkowa przełącznika została usunięta. W razie problemów poproś o
pomoc instruktora.
Uwaga:
W zadaniu 1 komputer PC ma dostęp do Internetu. Nie można używać programu Netlab.
Wymagane zasoby
– Zadanie 1 (FTP)
1 PC (Windows 7, Vista lub XP
z dostępem do wiersza poleceń, Internetu i programu Wireshark)
Wymagane zasoby
– Zadanie 2 (TFTP)
1
przełącznik (Cisco 2960 with Cisco IOS Release 15.0(2) obraz lanbasek9 lub porównywalny)
1 PC (Windows 7, Vista lub XP z Wiresharkiem I serwerem TFTP, np. tftpd32)
Kabel konsolowy do konfigurowania przełacznika
Otpowiednie okablowanie do podłaczenia komputera z przełącznikiem
Zadanie 1: Przechwytywanie i
identyfikowanie pól nagłówka protokołu TCP
podczas sesji FTP
Krok 1: Rozpocznij przechwytywanie
a.
Zamknij zbędne program, które mogą generować niepotrzebny ruch.
b. Uruchom program Wireshark i rozpocznij przechwytywanie.
Krok 2: Pobierz plik Readme.
a. W w
ierszu poleceń wpisz ftp ftp.cdc.gov.
b.
Zaloguj się jako użytkownik anonimowy anonymous i nie wpisuj żadnego hasła
c. Zlokalizuj i pobierz plik Readme.
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 3 of 14
Krok 3: Zatrzymaj przechwytywanie w programie Wireshark.
Krok
4: Wyświetl główne okno program Wireshark
.
Program Wireshark
przechwycił wiele pakietów podczas sesji do ftp.cdc.gov. Aby ograniczyć liczbę danych
do analizy w polu Filter wpisz tcp and ip.addr == 198.246.112.54 i kliknij przycisk Apply. Adres
198.246.112.54, jest adresem IP dla ftp.cdc.gov.
Krok 5: Analiza pól protokołu TCP.
Po odfiltrowaniu sesji TCP
pierwsze trzy ramki pokazują proces nawiązywania połączenia. Sekwencja [SYN],
[SYN, ACK] i [ACK] przedstawia
zestawienie połączenia, tzw. three-way handshake.
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 4 of 14
Podczas połączenia klienta FTP z serwerem, protokół TCP warstwy transportowej ma utworzoną
kontrolowaną sesję. TCP jest rutynowo używany podczas sesji do kontroli dostarczenia datagramu,
weryfikacji jego dotarcia i zarządzania rozmiarem okna przesuwnego. Dla każdej nowej wymiany danych
między klientem i serwerem FTP tworzona jest nowa sesja. Na zakończenie wymiany danych sesja TCP jest
zamykana. W końcu, kiedy połączenie FTP jest zakończone, TCP wykonuje procedurę zamknięcia i
zakończenia sesji..
W środkowym oknie programu Wiresharka dostępna jest szczegółowa informacja. Podświetl pierwszy
datagram TCP pochodzący z klienta FTP i przesuń kursor myszy do środkowej części okna. Może być
konieczne dostosowanie rozmiaru okna i rozwinięcie przechwyconych informacji TCP przez kliknięcie
odpowiedniego przycisku rozwinięcia (+). Rozwinięty datagram powinien być podobny do tego na rysunku.
Na powyższym rysunku przedstawiono datagram TCP. W celu przypomnienia zamieszczamy opis
poszczególnych pól:
• Numer portu źródłowego TCP przypisany jest do sesji TCP hosta, która otworzyła połączenie. Wartość ta jest
generowana losowo powyżej 1023.
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 5 of 14
• Numer portu docelowego jest używany w celu określenia protokołu warstwy wyższej bądź aplikacji na
komputerze docelowym (
serwerze). Wartość ta należy do zakresu dobrze znanych portów (ang. well known ports)
czyli od 0 do 1023 (włącznie). Numery te są przyporządkowane do popularnych usług i aplikacji (opisanych w
RFC 1700, takich jak: FTP, HTTP). Kombinacja czterech wartości (źródłowego adresu IP, źródłowego numeru
portu, docelowego adresu IP, docelowego numeru portu) identyfikuje unikalnie sesję dla obu hostów: klienta i
serwera.
• Numer sekwencyjny zawiera numer ostatniego bajtu (oktetu) w segmencie.
• Numer potwierdzenia zawiera numer następnego bajtu oczekiwanego przez odbiorcę.
• Bity kontrolne (flagi) mają specjalne znaczenie w zarządzaniu sesją i w określaniu sposobu traktowania
segmentu. Wśród nich wyróżniamy: • ACK (bit/flaga potwierdzenia otrzymania segmentu),
• SYN (bit/flaga synchronizacji, ustawioną tylko wtedy, kiedy nowa sesja jest negocjowana podczas potrójnego
uzgadniania),
• FIN (bit/flaga zakończ, która oznacza żądanie zamknięcia sesji),
• Rozmiar okna (przesuwnego) jest to wartość rozmiaru okna przesuwnego, oznaczająca ile bajtów może być
przesłanych zanim nadawca będzie musiał czekać na potwierdzenie.
• Wskaźnik ważności (URGENT Pointer) używany wraz z Bitem/flagą ważności. Stosowany jest, kiedy nadawca
chce podkre
ślić ważność przesyłanych danych.
• Opcje: jedyna obecnie zdefiniowana opcja to maksymalny rozmiar segmentu TCP (jest to wartość opcjonalna).
Używając programu Wireshark przechwyć pierwszą w sesji TCP ramkę (zawiera flagę SYN ustawioną na 1) i
wypełnij informację o nagłówku TCP.
Kierunek nawiązania komunikacji: z komputera PC do serwera (tylko wartość bitu SYN ustawiona na 1):
Adres IP nadawcy:
Adres IP odbiorcy:
Numer portu źródłowego:
Numer portu docelowego:
Numer sekwencyjny:
Numer potwierdzenia:
Długość nagłówka:
Rozmiar okna:
Komunika
cja (odpowiedź) od serwera do komputera klienckiego (wartości flag SYN oraz ACK są ustawione
na 1):
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 6 of 14
Wypełnij poniższą tabelką na postawie zarejestrowanej odpowiedzi.
Adres IP nadawcy:
Adres IP odbiorcy:
Numer portu źródłowego:
Numer portu docelowego:
Numer sekwencyjny:
Numer potwierdzenia:
Długość nagłówka:
Rozmiar okna:
Na końcowym etapie negocjacji ustawiania połączenia komputer PC wysyła potwierdzenie do serwera (tylko
wartość flagi ACK ustawiona na 1).
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 7 of 14
Wypełnij poniższą tabelkę.
Adres IP nadawcy:
Adres IP odbiorcy:
Numer portu źródłowego:
Numer portu docelowego:
Numer sekwencyjny:
Numer potwierdzenia:
Długość nagłówka:
Rozmiar okna:
Pomijając ustanowienie sesji TCP, ile innych datagramów TCP zawiera ustawiony bit SYN?
_______________________________________________________________________________________
Klient i serwer FTP komunikują się ze sobą nie będąc świadomi, że TCP kontroluje i zarządza nawiązaną przez
nich sesją. Kiedy serwer FTP wysyła odpowiedź: 220 do klienta to TCP na kliencie odsyła potwierdzenie do TCP
na serwerze FTP. Tą wymianę można zaobserwować w programie Wireshark
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 8 of 14
Kiedy połączenie FTP jest kończone, klient FTP wysyła komendę "quit". Serwer FTP potwierdza
zakończenie połączenia odpowiedzią: 221 Goodbye. Teraz TCP serwera FTP wysyła datagram do
klienta FTP, ogłaszający zakończenie sesji TCP. TCP na kliencie FTP potwierdza otrzymanie datagramu
kończącego sesję i wysyła własny datagram TCP kończący sesję. Kiedy źródło zakończenia sesji TCP,
serwer FTP, otrzyma podwójne zakończenie, datagram z ustawionym bitem ACK jest odsyłany do klienta aby
potwierdzić zakończenie sesji TCP. Taką wymianę można znaleźć w przechwyconej komunikacji za pomocą
programu Wireshark. Bez wykonania procedury zakańczania sesji, np. gdy połączenie między hostami
zostanie zerwane, TCP odczeka pewien czas zanim zamknie sesję. Ten domyślny (standardowy) czas
wynosi 5 minut
Wpisując w polu Filter ftp można zaobserwować całą sesję FTP. Prześledź kolejność zdarzeń podczas tej
sesji.
Zauważ, że można sprawdzić, iż użytkownik anonymous pobierał plik Readme. Po zakończeniu
pobierania danych użytkownik zakończył sesję.
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 9 of 14
Teraz pono
wnie odfiltru datagramy TCP i zaobserwuj proces zakończenia połączenia TCP. Zauważ, że cztery
datagramy TCP są przesyłane podczas kończenia połączenia. Związane jest to z faktem, iż połączenie TCP
jes
t połaczeniem typu full-duplex i zakończenie połaczenia musi się odbyć niezależnie w każdym z dwóch
kierunków. Prześledź adres źródłowy i docelowy.
W prezentowanym przykładzie serwer FTP nie ma już więcej danych do przesłania, więc wysyła segment z
flagą FIN w ramce nr 63. Komputer wysyła potwierdzenie ACK (to jest odpowiedź na FIN otrzymane z
serwera) w ramce nr 64.
W ramce nr 65 to komputer (klient) wysyła flagę FIN do serwera z prośbą o zakończenie sesji, a serwer FTP
odpowiada flagą ACK (ramka 67).
Zadanie 2: Przechwytywanie i
identyfikowanie pól nagłówka protokołu UDP
podczas sesji TFTP
Krok 1: Przygotuj sieć o topologii pokazanej na poniższym rysunku.
a. Ustaw połącznie konsolowe i ethernetowe między komputerem PC-A a przełącznikiem S1.
b.
Ustaw ręcznie adres dla komputera na 192.168.1.3. Nie ma potrzeby konfigurowania bramy domyślnej.
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 10 of 14
c.
Skonfiguruj przełącznik. Przypisz adres IP 192.168.1.1 do VLAN 1. Sprawdź łączność za pomocą
programu ping.
Switch> enable
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# host S1
S1(config)# interface vlan 1
S1(config-if)# ip address 192.168.1.1 255.255.255.0
S1(config-if)# no shut
*Mar 1 00:37:50.166: %LINK-3-UPDOWN: Interface Vlan1, changed state to up
*Mar 1 00:37:50.175: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1,
changed state to up
S1(config-if)# end
S1# ping 192.168.1.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/203/1007 ms
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 11 of 14
d.
Zapisz konfigurację bieżącą do pamięci NVRAM:
S1# copy run start
Krok 2: Przygotuj serwer TFTP na komputerze PC.
a.
Jeśli na pulpicie nie ma katalogu TFTP, to utwórz go. Pliki z przełącznika będą kopiowane do tego folderu.
b. Uruchom program tftpd32.
c. Kliknij Browse i
zmień bieżący katalog na C:\Users\user1\Desktop\TFTP.
Zauważ, że zarówno użytkownik, jak i serwer TFTP używają tego samego adresu IP 192.168.1.3.
d.
Sprawdź, czy jest możliwość kopiowania plików za pomocą serwera TFTP.
S1# copy start tftp
Address or name of remote host []? 192.168.1.3
Destination filename [s1-confg]?
!!
1638 bytes copied in 0.026 secs (63000 bytes/sec)
Jeśli pliki zostały przekopiowane, to możesz przejść do kolejnego kroku. Jeśli nie, to zdiagnozuj problem i
rozwiąż go. Jeśli zobaczysz komunikat %Error opening tftp (Permission denied), to sprawdź,
czy firewall nie blokuje TFTP oraz sprawdź, czy masz uprawnienia do zapisywania w katalogu, w którym
chcesz to zrobić.
Krok 3: Przechwyć sesję TFTP
a.
Otwórz program Wireshark. Z menu Edit, wybierz Preferences i kliknij znak (+), żeby rozszerzyć listę
protokołów. Przewiń w dół i wybierz UDP. Kliknij Validate the UDP checksum if possible i potwierdź
klikając Apply. Potem kliknij OK.
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 12 of 14
b. Rozpocznij przechwytywanie programem Wireshark.
c.
Na przełączniku wpisz polecenie copy start tftp.
d.
Zakończ przechwytywanie.
e. Ustaw filtr na tftp.
Przechwycona przez Ciebie komunikacja powinna być podobna do tej pokazanej
powy
żej, a zostanie użyta do analizy operacji zachodzących w warstwie transportowej dla protokołu UDP.
f.
W
środkowej części okna programu Wireshark dostępna jest szczegółowa informacja (w tym przypadku o
datagramie UDP). Zaznacz (podświetl) pierwszy datagram UDP pochodzący z komputera lokalnego i
przesuń kursor myszy nad środkową część okna. Może być konieczne dostosowanie rozmiaru okna i
rozwinięcie przechwyconych informacji UDP przez kliknięcie odpowiedniego przycisku rozwinięcia (+).
Rozwinięty przez Ciebie datagram UDP powinien być podobny do pokazanego na poniższym rysunku.
Spójrz na poniższy datagram UDP. Informacje zawarte w nagłówku datagramu UDP są skąpe w porównaniu z
nagłówkiem datagramu TCP. Jednakże są pewne podobieństwa. Każdy datagram UDP jest identyfikowany przez
numery
portów UDP źródłowy i docelowy.
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 13 of 14
Używając przechwyconych informacji przez program Wireshark wypełnij poniższe informacje dotyczące
nagłówka segmentu UDP. Suma kontrolna to liczba oznaczona przedrostkiem 0x:
Adres IP nadawcy:
Adres IP odbiorcy:
Numer
portu źródłowego:
Numer portu docelowego:
Długość wiadomości UDP:
Suma kontrolna UDP:
Jak UDP weryfikuje poprawność datagramu?
____________________________________________________________________________________
____________________________________________________________________________________
Przeanalizuj pierwszy pakiet TFTP wysłany przez przełącznik. Wypełnij informacje dotyczące nagłówka
UDP:
Adres IP nadawcy:
Adres IP odbiorcy:
Numer portu źródłowego:
Numer portu docelowego:
Długość wiadomości UDP:
Suma kontrolna UDP:
Zauważ, że zwrócony datagram UDP ma inny źródłowy port, ale ten źródłowy port jest użyty w dalszym
transferze TFTP. Z powodu braku niezawodności połączenia, tylko numer oryginalnego portu
źródłowego, którym rozpoczęto transmisję, używany jest do dalszego zarządzania komunikacją TFTP.
Lab - Using Wireshark to Examine FTP and TFTP Captures
© 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public.
Page 14 of 14
Do przemyślenia
To laboratorium przedstawia studentom możliwości analizy datagramów TCP oraz UDP przechwyconych
podczas przesyłania plików za pomocą FTP i TFTP. W jaki sposób TCP zarządza komunikacją (w
porównaniu do UDP)?
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
Wyzwanie
Ponieważ FTP i TFTP nie są bezpiecznymi protokołami, wszystkie dane przesyłane za ich pomocą wysyłane
są czystym tekstem, nie wyłączając nazw użytkowników i haseł. Analizując sesję FTP szybko odnajdziemy
nazwę użytkownika i hasło oraz hasła w plikach konfiguracyjnych. Analiza danych przesyłanych za pomocą
TFTP jest trochę bardziej skomplikowana, ale i tu da się odnaleźć nazwy użytkowników i hasła.
Porządkowanie i zakończenie
O ile instruktor nie wskazał inaczej, to:
1)
Usuń z komputera pliki, które tam skopiowałeś.
2)
Usuń konfigurację przełącznika S1.
3)
Usuń statyczny adres IP z komputera i przywróć połączenie z Internetem.