Laboratorium - Przechwytywanie danych pochodzących z FTP i TFTP programem Wireshark
Laboratorium - Użycie z programu Wireshark do przechwytywania danych pochodzących z protokołu FTP i TFTP.
Topologia – Część 1 (FTP)
W części 1 omówimy przechwytywanie danych TCP w sesji FTP . Topologia składa się z komputera z dostępem do Internetu.
Topologia – Część 2 (TFTP)
W części 2 omówimy przechwytywanie danych UDP w sesji TFTP. Komputer musi być wyposażony w złącze Ethernet i połączenie konsolowe do przełącznika S1.
Tabela adresacji (Część 2)
Urządzenie
Interfejs
Adres IP
Maska podsieci
Brama domyślna
S1
VLAN 1
192.168.1.1
255.255.255.0
Nie dotyczy
PC-A
Karta sieciowa
192.168.1.3
Cele
Część 1: Identyfikacja pól w nagłówku TCP uraz operacji przychwytywania przez Wireshark sesji FTP
Część 2: Identyfikacja pól w nagłówku datagramu UDP oraz operacji przechwytywania przez Wireshark w sesji TFTP
Scenariusz
Dwa protokoły w warstwie transportowej TCP/IP, to TCP zdefiniowane w RFC 761 oraz UDP zdefiniowane w RFC 768. Oba protokoły obsługują komunikację protokołów wyższych warstw. Na przykład, TCP jest używany do obsługi warstwy transportowej między innymi, dla protokołów Hypertext Transfer Protocol (HTTP) i FTP. Protokół UDP działa w warstwie transportowej i współpracuje, między innymi z protokołami Domain Name System (DNS) oraz TFTP.
Uwaga: Zrozumienie zawartości nagłówków TCP i UDP oraz ich działania jest bardzo istotne dla inżynierów sieciowych.
W części 1 laboratorium będziesz używał programu typu Open Source Wireshark w celu przechwytywania i analizowania pól nagłówka protokołu TCP dla sesji FTP przesyłania plików pomiędzy komputerem hosta i anonimowym serwerem FTP. Aby połączyć się z anonimowym serwerem FTP i pobrać plik będzie używany Wiersz poleceń systemu Windows. W części 2 laboratorium będziesz używał programu Wireshark w celu przechwytywania i analizowania pól nagłówka protokołu UDP dla sesji przesyłania plików pomiędzy komputerem hosta i przełącznikiem S1 za pomocą TFTP.
Uwaga: Używany jest przełącznik Cisco Catalyst 2960s z systemem Cisco IOS w wersji 15.0 (2) (obraz lanbasek9). Można również używać innych przełączników i wersji systemu IOS. Zależnie od modelu urządzenia i wersji systemu IOS dostępne polecenia oraz wyniki ich działania mogą się różnic od prezentowanych w niniejszej instrukcji.
Uwaga: Upewnij się, czy przełącznik został wyczyszczony i nie ma konfiguracji początkowej. Jeśli nie jesteś pewien, poproś o pomoc instruktora.
Uwaga: Część 1 zakłada, że komputer ma dostęp do Internetu i część ta nie może być wykonywana przy użyciu Netlab. Część 2 jest kompatybilna z Netlab.
Wymagane zasoby - Część 1 (FTP)
1 PC (Windows 7, Vista, lub XP z dostępem do wiersza poleceń, dostępem do Internetu i zainstalowanym programem Wireshark)
Wymagane zasoby - Część 2 (TFTP)
· 1 przełącznik (Cisco 2960 z systemem Cisco IOS wersja15.0 (2) obraz lanbasek9 lub porównywalny)
· 1 PC (Windows 7, Vista lub XP z programem Wireshark oraz zainstalowanym serwerem TFTP, np. tftpd32)
· Do konfigurowania urządzeń Cisco podłącz kabel konsolowy poprzez port konsoli
· Kabel Ethernet pokazany jest na rysunku topologii
Part 1: Identyfikacja pól w nagłówku segmentu TCP oraz obserwacja działania w sesji FTP za pomocą programu Wireshark.
W części 1 należy użyć programu Wireshark do przechwytywania sesji FTP i sprawdzenia pól nagłówka TCP.
Step 1: W programie Wireshark uruchom przechwytywanie.
a. Zamknij wszystkie zbędne komunikacje w sieci, takie jak na przykład przeglądarki WWW, aby ograniczyć ilość ruch podczas przechwytywania pakietów w programie Wireshark.
b. W programie Wireshark uruchom przechwytywanie.
Step 2: Pobierz plik Readme.
a. W wierszu poleceń wpisz ftp ftp.cdc.gov.
b. Zaloguj się na stronę FTP Centers for Disease Control and Prevention (CDC) używając konta anonymous bez hasła.
c. Znajdź i pobierz plik Readme.
Step 3: Zatrzymaj przechwytywanie w programie Wireshark.
Step 4: Przejdź do okna głównego programu Wireshark.
Wireshark przechwycił wiele pakietów w trakcie sesji FTP do strony ftp.cdc.gov. Aby ograniczyć ilość danych do analizy, w polu Filter: entry wpisz tcp oraz ip.addr == 198.246.112.54 i kliknij Apply. Adres IP 198.246.112.54 jest adresem strony ftp.cdc.gov.
Step 5: Przeanalizuj zawartości pól TCP.
Po zastosowaniu filtru TCP pierwsze trzy ramki w okienku listy pakietów (górna sekcja) wyświetla w warstwie transportowej protokół TCP służący do tworzenia niezawodnej sesji. Sekwencja [SYN], [SYN, ACK], [ACK] ilustruje 3-etapowe uzgodnienie.
TCP jest rutynowo używany podczas sesji do kontroli dostarczenia datagramu, weryfikacji jego dotarcia i zarządzania rozmiarem okna. Dla każdej wymiany danych pomiędzy klientem a serwerem FTP jest uruchomiana nowa sesja TCP. Na zakończenie wymiany danych sesja TCP jest zamykana. Gdy sesja FTP jest zakończona, to TCP wykonuje procedurę zamknięcia i zakończenia połączenia.
Szczegółowe informacje na temat TCP są dostępne w panelu szczegółów pakietów programu Wireshark (sekcja środkowa). Podświetl pierwszy datagram TCP z komputera hosta i rozwiń rekord TCP. Rozwinięty datagram TCP wydaje się być podobny do okienka szczegółów pakietu (packet detail) widocznego poniżej.
Powyższy rysunek przedstawia schemat datagramu TCP. Opis każdego pola znajduje się w dokumencie:
· Numer portu źródłowego TCP przypisany jest do sesji TCP hosta, który otworzył połączenie. Liczba ta jest zwykle wartością losową powyżej 1023.
· Numer portu docelowego jest używany w celu określenia protokołu warstwy wyższej bądź aplikacji na komputerze docelowym (serwerze). Wartości z zakresu 0-1023 reprezentują "dobrze znane porty" i związane są z popularnymi usługami i aplikacjami (w sposób opisany w dokumencie RFC 1700, takimi jak Telnet, FTP, HTTP oraz innymi). Kombinacja czterech wartości (źródłowego adresu IP, źródłowego numeru portu, docelowego adresu IP, docelowego numeru portu) identyfikuje w sposób unikalny sesję dla obu hostów: klienta i serwera.
Uwaga: W programie Wireshark przechwycony poniżej port docelowy to 21, co oznacza że jest to FTP. Serwery FTP na porcie 21 nasłuchują połączenia od klienta FTP.
· Numer sekwencyjny określa numer ostatniego oktetu w segmencie.
· Numer potwierdzenia określa numer następnego oktetu oczekiwanego przez odbiorcę.
· Bity kontrolne (flagi) mają specjalne znaczenie w zarządzaniu sesją i w określaniu sposobu traktowania segmentów. Wśród nich wyróżniamy:
- ACK — bit/flaga potwierdzenia otrzymania segmentu,
- SYN — bit/flaga synchronizacji, ustawiona tylko wtedy, gdy nowa sesja jest negocjowana podczas trójetapowego uzgadniania,
- FIN — bit/flaga zakończenia, która oznacza żądanie zamknięcia sesji.
· Rozmiar okna to wartość rozmiaru okna przesuwnego, oznaczająca ile oktetów może być przesłanych zanim nadawca będzie musiał czekać na potwierdzenie.
· Wskaźnik Urgent jest używany tylko z flagą Urgent (URG), gdy nadawca musi wysłać pilne dane do odbiornika.
· Options ma obecnie tylko jedną możliwość i jest określona jako maksymalna wielkość segmentu TCP (wartość opcjonalna).
Używając programu Wireshark przechwyć pierwszą fazę w sesji TCP (flaga SYN ustawiona na 1) i wypełnij informację o nagłówku datagramu TCP:
Z komputera PC do serwera CDC (tylko flaga SYN jest ustawiona na 1):
Adres IP nadawcy:
Adres docelowy IP:
Numer portu źródłowego:
Numer portu docelowego
Numer sekwencyjny:
Numer potwierdzenia:
Długość nagłówka:
Rozmiar okna:
W drugim filtrowanym przechwytywaniu Wiresharka serwer CDC FTP potwierdza żądanie z komputera PC. Zanotuj wartości bitów SYN i ACK.
Wypełnij następujące informacje dotyczące wiadomości SYN-ACK.
Źródłowy adres IP:
Numer portu docelowego:
muc13k