Jeden segment (przełącznik)
Schemat do przykładu. Tutaj >>> plik <<< Przed wykonaniem zadania należy wyczyścić bufor ARP na hostach PC5 i PC6 poleceniem
arp -d
1 – host PC6 o adresie MAC 000B.BE26.4295 i adresie IP 192.168.0.100 chce wysłać żądanie echa do PC5, nie zna jednak jego adresu sprzętowego MAC zatem musi wysłać zapytanie do wszystkich FFFF.FFFF.FFFF o adres sprzętowy hosta o adresie 192.168.0.101, zapytanie ma adres docelowy rozgłoszenie a źródłowy własny MAC 000B.BE26.4295
2 – host PC5 odbiera zapytanie i odsyła ramkę w której źródłem jest jego MAC 0001.6369.A4DE celem adres MAC hosta PC6 000B.BE26.4295
3 – teraz host PC6 może zbudować ramkę z adresami MAC 000B.BE26.4295 –> 0001.6369.A4DE z żądaniem echa z 192.168.0.100 do 192.168.0.101
4 – host PC5 odbiera ramkę i odpowiada ze swojego MAC na MAC hosta PC6
Jeśli oba hosty maja zbuforowane odwzorowania ARP-IP to w komunikacji pojawią się tylko dwie ramki: zapytanie ICMP, odpowiedź ICMP
Poniżej widok przechwyconego ruchu na sniffer 3
1 – zapytanie ARP:
2 – odpowiedź ARP
3 – zapytanie ICMP
4 – odpowiedź ICMP
Dwa segmenty (router)
Schemat do przykładu. Tutaj >>> plik <<< Przed wykonaniem zadania należy wyczyścić bufor ARP na hostach PC5 i PC6 poleceniem
arp -d
Uruchamiamy sniffer 2 i 3, ustawiamy w nich filtry aby przechwytywały tylko ruch ICMP oraz ARP
Jeśli sniffer już coś złapał to czyścimy jego pamięć przyciskiem Clear
Teraz możemy wysłać jeden pakiet ICMP Echo request z komputera PC6 do PC5
Sprawdzamy kolejno przechwycony ruch.
Sniffer w sieci B – źródłowej przechwycił najpierw zapytanie ARP kolejno ruch ICMP. Zapytanie ARP jest wysłane jako pierwsze.
Sniffer 3:
1 – host PC6 o adresie MAC 0008:BE26.4295 pyta wszystkich w sieci B (FFFF.FFFF.FFFF) o adres sprzętowy hosta 192.168.0.1 (jego bramy domyslnej)
2 – brama czyli host 192.168.0.1 odpowiada swoim adresem MAC: 0002.174D.B001
3 – host PC6 192.168.0.100 wysyła teraz pakiet ICMP do hosta PC5 o adresie IP 192.168.1.100 jednak adres sprzętowy celu w ramce tego pakietu to adres bramy domyślnej hosta PC6 czyli 0002.174D.B001 (192.168.1.1), źródłem jest oczywiście host PC6 o adresie MAC 000B.BE26.4295
4 – w sieci A ruter teraz ma zadanie dostarczyć to zapytanie ICMP do hosta PC5 zatem musi pozyskać jego adres MAC. Pyta więc wszystkich w sieci A (FFFF.FFFF.FFFF) o adres sprzętowy hosta 192.168.1.100 (ponieważ router też przechowuje odwzorowania ARP przy kolejnych próbach tego nie zobaczymy w snifferze)
5 – host PC5 odpowiada routerowi swoim adresem MAC
6 – router teraz może wysłać zapytanie ICMP do hosta PC5, nadawcą ramki jest 0002.174D.B002 odbiorcą 0001.6369.A4DE
7 – host PC5 odpowiada routerowi ze swojego MAC na MAC rutera (w sieci A oczywiście)
8 – router teraz przekazuje tą odpowiedź do hosta PC6, budując ramkę ze swoim adresem MAC jako źródłowym 0002.174D.B001 i adresem MAC hosta PC6 jako docelowym
Zatem aby wysłać jedno zapytanie ICMP i otrzymać jedną odpowiedź w początkowym etapie (kiedy hosty nie mają jeszcze zbuforowanych odwzorowań ARP-IP) potrzebnych jest 8 ramek Ethernet. Kolejne zapytania to cztery ramki na „jednego pinga”
Aby wyczyścić bufor arp routera
#clear hosts
#clear arp
Przykładowe widoki snifferów:
Sniffer 2:












