Cała zawartość niniejszych materiałów jest własnością Cisco Systems, Inc. ©1992-2007 Wszelkie prawa zastrzeżone. Ten dokument zawiera publicznie
dostępne informacje firmy Cisco.
Strona 1 z 9
Laboratorium 11.5.6: Końcowe studium przypadku - Analiza datagramu w
programie Wireshark.
Cele nauczania
Po zakończeniu tego ćwiczenia będziesz potrafił:
•
Wyjaśnić, jak zbudowany jest segment TCP i wyjaśnić znaczenie jego pól.
•
Wyjaśnić, jak zbudowany jest pakiet IP i wyjaśnić znaczenie jego pól.
•
Wyjaśnić, jak zbudowana jest ramka Ethernet II i wyjaśnić znaczenie jej pól.
•
Wyjaśnić, jak zbudowany jest pakiet zapytania i odpowiedzi ARP."
Wprowadzenie
Laboratorium wymaga dwóch plików z przechwyconymi pakietami i analizatora ruchu sieciowego Wireshark.
Pobierz poniższe pliki z serwera Eagle, zainstaluj program Wireshark na swoim komputerze (najpierw
sprawdź, czy już nie jest zainstalowany).
• eagle1_web_client.pcap (omawiany)
• eagle1_web
_server.pcap (tylko odwołanie)
• wireshark.exe
Scenariusz
Ćwiczenie opisuje sekwencję tworzenia i wysyłania datagramów przez sieć pomiędzy klientem www,
PC_Client i serwerem www, eagle1.example.com. Zrozumienie tego procesu, polegającego na
sekwencyjnej w
ymianie pakietów poprzez sieć, ułatwi studentom logiczne rozwiązywanie problemów z
komunikacją w sieci w przypadku wystąpienia awarii. W celu zapewnienia przejrzystości i zwięzłości,
usunięto dodatkowe, niezwiązane z omawianą komunikacją pakiety, które również pojawiły się w sieci w
trakcie procesu przechwytywania. Jeśli sieć, z której korzystasz, należy do innych osób, przed
uruchomieniem analizatora ruchu sieciowego uzyskaj pozwolenie (najlepiej na piśmie) na analizowanie
ruchu w sieci.
Rysunek 1 przedst
awia topologię sieci wykorzystywanej w tym laboratorium.
Rysunek 1. Topologia sieci
Kurs CCNA Exploration
Podstawy sieci komputerowych
Konfiguracja i testowanie sieci
Laboratorium 11.5.6:
Końcowe studium przypadku - Analiza datagramu w programie Wireshark.
Cała zawartość niniejszych materiałów jest własnością Cisco Systems, Inc. ©1992-2007 Wszelkie prawa zastrzeżone. Ten dokument zawiera publicznie
dostępne informacje firmy Cisco.
Strona 2 z 9
Używając programów uruchamianych z linii poleceń, wyświetlono konfigurację komputera związaną z
adresacją IP oraz zawartość pamięci podręcznej ARP. Spójrz na Rysunek 2.
C: > ipconfig / all
Konfiguracja IP systemu Windows
Karta Ethernet Połączenie lokalne:
Sufiks DNS konkretnego połączenia. :
Opis . . . . . . . . . . . . . . . . . . : Intel(R)
PRO/1000 MT
Połączenie sieciowe
Adres fizyczny. . . . . . . . . : 00:02:3f:7e:37:da
Dhcp włączone. . . . . . . . . . . : Nie
Adres IP. . . . . . . . . . . . : 10.1.1.1
Maska podsieci . . . . . . . . . . . : 255.255.255.0
Brama domyślna . . . . . . . : 10.1.1.254
Serwery DNS . . . . . . . . . . . : 10.1.1.250
C: > arp –a
Nie znaleziono wpisów ARP
C: >
Rysunek 2. Konfiguracja początkowa komputera PC Client
Jak przedstawiono na Rysunku 3, uruchomiona została przeglądarka internetowa i wpisany został
URL eagle1.example.com. Rozpoczyna to proc
es komunikacji z serwerem www i jest jednocześnie
momentem rozpoczęcia przechwytywania pakietów.
Rysunek 3. Przeglądarka internetowa uruchomiona na PC Client
Zadanie 1: Przygotuj się do wykonania laboratorium
Krok 1: Uruchom na swoim komputerze program Wireshark
Spójrz na Rysunek 4 w celu wykonania zmian w domyślnej konfiguracji programu Wireshark. Odznacz Main
toolbar
, Filter toolbar, i Packet Bytes
. Upewnij się, że Packet List i Packet Details są
zaznaczone. Aby wyłączyć automatyczne tłumaczenie w adresach MAC odznacz Name Resolution.
MACMAC layer
i Transport Layer w menu
Kurs CCNA Exploration
Podstawy sieci komputerowych
Konfiguracja i testowanie sieci
Laboratorium 11.5.6:
Końcowe studium przypadku - Analiza datagramu w programie Wireshark.
Cała zawartość niniejszych materiałów jest własnością Cisco Systems, Inc. ©1992-2007 Wszelkie prawa zastrzeżone. Ten dokument zawiera publicznie
dostępne informacje firmy Cisco.
Strona 3 z 9
Rysunek 4. Zmiany w domyślnym sposobie wyświetlania w programie Wireshark
Krok 2: Załaduj plik eagle1_web_client.pcap zawierający dane przechwycone w trakcie komunikacji
prze
glądarki internetowej
Zostanie wyświetlone okno podobne do przedstawionego na Rysunku 5. Program pozwala na dostęp do
różnych rozwijalnych menu i podmenu. Okno programu zawiera dwa oddzielne panele. W górnym panelu
znajduje się lista wszystkich przechwyconych pakietów. Dolny panel zawiera szczegółowe dane dotyczące
pakietów. Każda linia w dolnym panelu zawiera znak plusa informujący o istnieniu dodatkowych
informacji.
Rysunek 5. Wireshark z załadowanym plikiem eagle1_web_client.pcap
Kurs CCNA Exploration
Podstawy sieci komputerowych
Konfiguracja i testowanie sieci
Laboratorium 11.5.6:
Końcowe studium przypadku - Analiza datagramu w programie Wireshark.
Cała zawartość niniejszych materiałów jest własnością Cisco Systems, Inc. ©1992-2007 Wszelkie prawa zastrzeżone. Ten dokument zawiera publicznie
dostępne informacje firmy Cisco.
Strona 4 z 9
Zadanie 2: Prześledź proces przepływu danych przez sieć
Krok 1: Prześledź sposób działania warstwy transportowej
Kiedy PC_Client tworzy datagram w celu przesłania go do eagle1.example.com, przesyłany on jest w dół
przez wszystkie warstwy. Każda warstwa dodaje nagłówek zawierający istotne dla niej informacje.
Ponieważ dane, które analizujemy, pochodzą od przeglądarki internetowej, protokołem transportowym jest
TCP. Przyjrzyj się segmentowi TCP pokazanemu na Rysunku 6. PC_Client generuje źródłowy numer portu
TCP, w tym prz
ypadku 1085, oraz używa dobrze znanego numer portu 80, którym posługują się serwery
www. Automatycznie tworzy również numer sekwencyjny. Dane, które mają być umieszczone w segmencie
TCP, zostały otrzymane z warstwy aplikacji. PC_Client nie zna jeszcze wszystkich informacji potrzebnych
do wysłania pakietu, więc muszą one zostać uzyskane przy użyciu innych protokołów sieciowych.
Brakuje numeru potwierdzenia. Zanim omawiany segment może zostać przekazany do warstwy sieci, TCP
musi wykonać proces uzgadniania trójfazowego.
Rysunek 6. Pola segmentu TCP
Krok 2: Prześledź sposób działania warstwy sieci
Kilka pól w PAKIECIE IPv4 (IP), tworzonym na poziomie warstwy sieci, może być od razu uzupełnione
właściwymi informacjami. Zostało to pokazane na Rysunku 7. Na przykład znana jest wersja (IPv4) pakietu
jak i adres źródłowy IP.
Pakiet ma zostać dostarczony do urządzenia o nazwie eagle1.example.com. Adres IP odpowiadający tej
nazwie musi zostać poznany przy użyciu usługi DNS (System Usług Domenowych). Pola związane z
protokołem warstwy wyższej pozostają nieuzupełnione do momentu otrzymania datagramu z tej warstwy.
Rysunek 7. Pola pakietu IP
Kurs CCNA Exploration
Podstawy sieci komputerowych
Konfiguracja i testowanie sieci
Laboratorium 11.5.6:
Końcowe studium przypadku - Analiza datagramu w programie Wireshark.
Cała zawartość niniejszych materiałów jest własnością Cisco Systems, Inc. ©1992-2007 Wszelkie prawa zastrzeżone. Ten dokument zawiera publicznie
dostępne informacje firmy Cisco.
Strona 5 z 9
Krok 3: Prześledź sposób działania warstwy łącza danych
Zanim datagram zostanie umieszczony w nośniku fizycznym, musi być enkapsulowany w ramkę. Zostało to
pokazane na Rysunku 8. PC_Client zna źródłowy (swój) adres MAC, natomiast adres docelowy MAC musi
zostać przez niego poznany.
Adres docelowy MAC musi zostać znaleziony.
Rysunek 8. Pola ramki Ethernet II
Zadanie 3: Przeanalizuj przechwycone pakiety
Krok 1: Prześledź sekwencję przepływu informacji
W celu prześledzenia sekwencji wymienianych pakietów pomocne będzie podsumowanie brakujących
informacji:
a.
Nie można utworzyć segmentu TCP, ponieważ brak jest informacji potrzebnych do uzupełnienia
pola z numerem potwierdzenia. Wymagane jest uprzednie zakończenie uzgadniania trójetapowego
wykonywanego w protokole TCP.
b.
Uzgadnianie trójetapowe wykonywane w protokole TCP nie może zostać zrealizowane dopóki
PC_Client nie
będzie znał adresu IP serwera eagle1.example.com. Aby uzyskać taką informację,
PC_Client musi wysłać zapytanie DNS do serwera DNS.
c.
Nie można odpytać serwera DNS, ponieważ nie jest znany jego adres MAC. Aby poznać adres
MAC serwera DNS należy w sieci lokalnej rozgłosić Zapytanie ARP.
d.
Adres MAC serwera eagle1.example.com jest nieznany. Aby poznać adres MAC serwera
eagle1.example.com należy w sieci lokalnej rozgłosić zapytanie ARP.
Krok 2: Przeanalizuj zawartość pakietu zapytania ARP
Przyjrzyj się pakietowi nr 1w panelu zawierającym listę pakietów w programie Wireshark. Przechwycony
pakiet to zapytanie ARP (Address Resolution Protocol). Klikając w znak plusa znajdujący się w drugiej linii w
oknie zawierającym szczegółowe informacje na temat pakietu można zobaczyć zawartość ramki Ethernet II.
Klikając w linię ARP request można zobaczyć zawartość pakietu zapytania ARP.
1.
Jaki jest źródłowy adres MAC w pakiecie zapytania ARP? _____________________
2. Jaki jest docelowy adres MAC w pakiecie odpowiedzi ARP? _____________________
3.
Jaką wartość ma nieznany adres IP w pakiecie zapytania ARP? ______________________
Kurs CCNA Exploration
Podstawy sieci komputerowych
Konfiguracja i testowanie sieci
Laboratorium 11.5.6:
Końcowe studium przypadku - Analiza datagramu w programie Wireshark.
Cała zawartość niniejszych materiałów jest własnością Cisco Systems, Inc. ©1992-2007 Wszelkie prawa zastrzeżone. Ten dokument zawiera publicznie
dostępne informacje firmy Cisco.
Strona 6 z 9
4.
Jaką wartość ma pole Typ w ramce Ethernet II? _____________________
Krok 3: Przeanalizuj zawartość pakietu odpowiedzi ARP
Przyjrzyj się pakietowi nr 2 w panelu zawierającym listę pakietów w programie Wireshark. Serwer DNS
odsyła odpowiedź ARP.
1.
Jaki jest źródłowy adres MAC w pakiecie odpowiedzi ARP? _____________________
2. Jaki jest docelowy adres MAC w pakiecie odpowiedzi ARP? _____________________
3.
Jaką wartość ma pole Typ w ramce Ethernet II? _____________________
4.
Jaką wartość ma docelowy adres IP w pakiecie odpowiedzi ARP? _____________________
5.
Bazując na zaobserwowanym działaniu protokołu ARP, jakie można wyciągnąć wnioski dotyczące
adresów docelowych w pakietach zapytania i odpowiedzi ARP?
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
6. Dl
aczego serwer DNS nie musi wysyłać pakietu zapytania ARP aby uzyskać adres MAC komputera
PC_Client? _____________________________________________________________
_____________________________________________________________________
Krok 4: Przeanalizuj z
awartość pakietu zapytania DNS
Przyjrzyj się pakietowi nr 3 w panelu zawierającym listę pakietów w programie Wireshark. PC_Client wysyła
zapytanie DNS do serwera DNS. Korzystając z panelu zawierającego szczegółowe informacje na temat
pakietu udziel odpowiedzi na następujące pytania:
1. Ja
ką wartość ma pole Typ w ramce Ethernet II? _____________________
2.
Jaki protokół warstwy transportowej jest używany oraz jaki jest numer portu docelowego?
_____________________
Krok 5: Przeanalizuj zawartość pakietu odpowiedzi DNS
Przyjrzyj się pakietowi nr 4 w panelu zawierającym listę pakietów w programie Wireshark. Serwer DNS
odsyła pakiet odpowiedzi DNS do komputera PC_Client. Korzystając z panelu zawierającego szczegółowe
informacje na temat pakietu udziel odpowiedzi na następujące pytania:
1.
Jaką wartość ma pole Typ w ramce Ethernet II? _____________________
2.
Jaki protokół warstwy transportowej jest używany oraz jaki jest numer portu docelowego?
_____________________
3. Jaki adres IP ma serwer eagle1.example.com? _____________________
4. Kolega, administr
ator firewalla, spytał czy są jakiekolwiek powody, dla których nie można byłoby
zabronić wszystkim pakietom UDP wchodzić do sieci wewnętrznej. Jakiej odpowiedzi można mu
udzielić? _____________________
_____________________________________________________________________
Kurs CCNA Exploration
Podstawy sieci komputerowych
Konfiguracja i testowanie sieci
Laboratorium 11.5.6:
Końcowe studium przypadku - Analiza datagramu w programie Wireshark.
Cała zawartość niniejszych materiałów jest własnością Cisco Systems, Inc. ©1992-2007 Wszelkie prawa zastrzeżone. Ten dokument zawiera publicznie
dostępne informacje firmy Cisco.
Strona 7 z 9
_____________________________________________________________________
_____________________________________________________________________
Krok 6: Przeanalizuj zawartość pakietu zapytania ARP
Przyjrzyj się pakietom nr 5 i 6 w panelu zawierającym listę pakietów w programie Wireshark. PC_Client
wysyła zapytanie ARP do urządzenia o adresie IP 10.1.1.254.
1. Czy jest to adres IP serwera eagle1.example.com?
Wyjaśnij dlaczego?
____________________________________________________________________
____________________________________________________________________
Krok 7: Przeanalizuj proces uzgadniania trójetapowego w protokole TCP
Przyjrzyj się pakietom nr 7, 8 i w panelu zawierającym listę pakietów w programie Wireshark. Przechwycone
pakiety
zawierają informacje wysyłane w trakcie realizacji uzgadniania trójetapowego pomiędzy
komputerem PC_Client i serwerem eagle1.example.com. Początkowo, w datagramie wysyłanym z
PC_Client ustawiona jest tylko flaga SYN, a numer sekwencyjny ma wartość 0. eagle1.example.com
odpowiada pakietem z ustawionymi flagami ACK i SYN, a numery potwierdzenia i sekwencyjne mają
wartości odpowiednio 1 i 0. W panelu zawierającym szczegółową informację dotyczącą pakietu zawarta jest
również nieomawiana do tej pory wartość - MSS=1460. Skrót MSS rozwijamy jako Maximum Segment
Size. Jeśli segment TCP ma być przesłany przez sieć działającą w oparciu o protokół IPv4, to MSS
przyjmuje wartość równą maksymalny rozmiar datagramu IPv4 minus 40. Wartość ta jest przesyłana w
trakcie faz
y nawiązywania połączenia. Jest to również moment negocjacji okna przesuwnego TCP.
1.
Jeśli wartość początkowa numeru sekwencyjnego TCP wysłanego przez PC_Client wynosi 0, to
dlaczego eagle1.example ustawia wartość numeru potwierdzenia na 1?
____________________________________________________________________
____________________________________________________________________
2.
Co oznacza wartość 0x04 pola Flags w pakiecie nr 8 wysłanym przez serwer eagle1.example.com?
____________________________________________________________________
3.
W pakiecie nr 9 PC_Client wysyła segment TCP kończący fazę uzgadniania trójetapowego. Jaki
jest stan flag w tym segmencie?
____________________________________________________________________
Zadanie 4: Uzupełnij rozważania końcowe
Krok 1: Dopasuj dane wyświetlone w programie Wireshark do odpowiednich procesów
Uzyskanie informacji wystarczających do wysłania żądania przez przeglądarkę internetową wymagało
przesłania dziewięciu datagramów pomiędzy PC_Client, serwerem DNS, bramą domyślną i serwerem
eagle1.example.com. To żądanie (HTTP GET) wysłane przez PC_Client zostało pokazane w pakiecie nr 10.
Kurs CCNA Exploration
Podstawy sieci komputerowych
Konfiguracja i testowanie sieci
Laboratorium 11.5.6:
Końcowe studium przypadku - Analiza datagramu w programie Wireshark.
Cała zawartość niniejszych materiałów jest własnością Cisco Systems, Inc. ©1992-2007 Wszelkie prawa zastrzeżone. Ten dokument zawiera publicznie
dostępne informacje firmy Cisco.
Strona 8 z 9
1.
Wpisz właściwe numery pakietów z panelu listy pakietów w programie Wireshark spełniające
wymogi na
stępujących opisów:
a.
Nie można zbudować segmentu TCP, ponieważ brak jest wartości, którą można wpisać w pole
potwierdzenia. Najpierw należy wykonać proces uzgadniania trójetapowego z serwerem
eagle1.example.com. ________
b. Proces uzgadniania trójetapowego n
ie może zostać przeprowadzony, ponieważ PC_Client nie
zna adresu IP serwera eagle1.example.com. Problem jest rozwiązany poprzez wysłanie przez
PC_Client Zapytania DNS do serwera DNS. ________
c.
Nie można wysłać Zapytania DNS do serwera DNS, ponieważ nie jest znany adres MAC
serwera DNS. Aby uzyskać adres MAC serwera DNS rozgłaszane jest w sieci lokalnej
Zapytanie ARP. ________
d.
Nieznany jest adres MAC bramy mogącej przesłać dane do serwera eagle1.example.com. Aby
poznać adres MAC bramy rozgłaszane jest w sieci lokalnej Zapytanie ARP. ________
2.
Pakiet numer 11 zawiera potwierdzenie, wysłane przez eagle1.example.com, otrzymania żądania
HTTP GET wysłanego przez PC_Client. Żądanie jest zawarte w pakiecie numer 10.
3. Pakiety o numerach 12, 13 i 15 to segmenty TCP
wysłane przez eagle1.example.com. Pakiety o
numerach 14 i 16 zostały wysłane przez PC_Client i są segmentami zawierającymi potwierdzenia.
4.
Aby sprawdzić, które segmenty są potwierdzane przez segmenty zawierające potwierdzenia, z
panelu zawierającego listę pakietów w programie Wireshark wybierz pakiet numer 14. Następnie
przewiń w dół zawartość panelu zawierającego szczegółowe informacje na temat pakietów i znajdź i
rozwiń sekcję [SEQ/ACK analysis]. Który segment, wysłany przez eagle1.example.com, jest
potwierdzany przez segment numer 14? _______________
5.
Pakiet numer 17 został wysłany przez PC_Client do eagle1.example.com. Przyjrzyj się informacjom
zawartym w sekcji [SEQ/ACK analysis].
Jaki jest cel wysłania tego segmentu? ________
6.
Kiedy PC_Client zakończył komunikację z serwerem, przesłał do niego (pakiet numer 18) segment
z ustawionymi flagami FIN i ACK. Serwer eagle1.example.com odpowiedział segmentem
potwierdzającym otrzymanie żądania zakończenia połączenia i w ten sposób sesja TCP została
zamknięta.
K
rok 2: Użyj funkcji "Follow TCP stream" programu Wireshark
Analiza zawartości pakietów może być zajęciem czasochłonnym, podatnym na błędy i przez to
zniechęcającym. Program Wireshark posiada opcję pozwalającą na pokazanie całego strumienia TCP w
oddzielny
m oknie. Aby skorzystać z tej funkcji należy najpierw zaznaczyć segment TCP w panelu
zawierającym listę przechwyconych pakietów. Następnie, przy użyciu menu Analyze, należy wybrać opcję
Follow TCP Stream.
Zostanie wyświetlone okno podobne do przedstawionego na Rysunku 9.
Kurs CCNA Exploration
Podstawy sieci komputerowych
Konfiguracja i testowanie sieci
Laboratorium 11.5.6:
Końcowe studium przypadku - Analiza datagramu w programie Wireshark.
Cała zawartość niniejszych materiałów jest własnością Cisco Systems, Inc. ©1992-2007 Wszelkie prawa zastrzeżone. Ten dokument zawiera publicznie
dostępne informacje firmy Cisco.
Strona 9 z 9
Rysunek 9. Zawartość strumienia TCP
Zadanie 5: Wnioski
Użycie analizatora ruchu sieciowego może pełnić istotną rolę w procesie dydaktycznym pozwalając na
zrozumienie kluczowych elementów procesu komunikacyjnego. Jeśli administrator zaznajomi się z
protokołami komunikacyjnymi, ten sam analizator ruchu sieciowego może stać się dla niego również
nieocenionym narzędziem wspomagającym rozwiązywanie problemów w trakcie awarii sieci. Jeśli na
przykład przeglądarka internetowa nie może połączyć się z serwerem, to przyczyn tego problemu może być
wiele. Analizator ruchu sieciowego może wtedy pokazać, że problem jest związany z zapytaniami ARP,
zapytaniami DNS lub brakiem potwierdzeń pakietów.
Zadanie 6: Podsumowanie
Ćwiczenie pomogło studentowi zrozumieć sposób, w jaki komunikują się między sobą klient i serwer WWW.
Protokoły wspomagające, takie jak DNS i ARP używane są w celu uzyskania brakujących wartości
potrzebnych do uzupełnienia pakietów IP (DNS) i ramek Ethernet (ARP). Zanim rozpocznie się sesja TCP,
musi zostać przeprowadzona faza uzgadniania trójetapowego pozwalająca na stworzenie niezawodnej
ścieżki pomiędzy komunikującymi się stronami i pozwalająca im na uzyskanie początkowych informacji
wymaganych do zbudowania nagłówka TCP. Na końcu, klient zamyka sesję TCP poprzez wysłanie
komunikatu zawierającego ustawioną flagę FIN.