Wireshark - ping

Z Systemy operacyjne i sieci komputerowe
Przejdź do nawigacji Przejdź do wyszukiwania


PING

Zajmiemy się poleceniem PING. Ping korzysta z protokołu ICMP, wysyła pakiety ICMP Echo Request i odbiera ICMP Echo Reply. Jak wiadomo służy do sprawdzania aktywności hostów w sieci.

  1. Uruchamiamy program Wireshark, rozpoczynamy przechwytywanie pakietów.
  2. Pingujemy bramę
  3. Zatrzymujemy przechwytywanie pakietów
  4. Filtrujemy wyniki wpisując jako filtr icmp
C:\Users\jarek>ping 192.168.0.1

Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time=135ms TTL=64
Reply from 192.168.0.1: bytes=32 time=3ms TTL=64
Reply from 192.168.0.1: bytes=32 time=18ms TTL=64
Reply from 192.168.0.1: bytes=32 time=17ms TTL=64

Ping statistics for 192.168.0.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 3ms, Maximum = 135ms, Average = 43ms

Wirehark-ping1.png

Analiza polecenia PING w programie Wireshark

Przeanalizujemy tylko protokół ICMP, działający w 3 warstwie modelu OSI. Jak widać polecenie ping wysyła pakiety ICMP Echo Request i odbiera ICMP Echo Reply. Wysyłane standardowo są 4 pakiety Echo Request (żądanie echa), jeśli wszystko jest w porządku powracają 4 pakiety Echo Reply (odpowiedź echa). Każdy standardowy pakiet to 40 bajtów, z czego 32 bajty to dane.

Z komputera o adresie 192.168.0.16 wysłaliśmy ping na komputer 192.168.0.1. Jak widać komputer odpowiedział poprawnie.

ICMP Echo Request (żądanie echa)

Trochę niezbędnej teorii

Format komunikatu:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Typ = 8 Kod = 0 Suma kontrolna nagłówka
Identyfikator Numer kolejny
Dane
  • Typ komunikatu równy 8.
  • Kod komunikatu równy 0.
  • Identyfikator i Numer Sekwencji mogą być użyte do określenia przez odbiorcę, na które żądanie echa dany pakiet jest odpowiedzią.
  • Dane otrzymane w ICMP Echo Request muszą zostać w całości odesłane w ICMP Echo Reply. [1]

Typ komunikatu

Przy ICMP Echo Request jest równy 8. Zajmuje 1 bajt.

Wirehark-ping2.png

Kod komunikatu

Przy ICMP Echo Request jest równy 0. Zajmuje 1 bajt.

Wirehark-ping3.png

Suma kontrolna

Suma kontrolna jest to liczba uzyskana w wyniku sumowania lub wykonania innych operacji matematycznych na przesyłanych danych, przesłana razem z danymi i służąca do sprawdzania poprawności przetwarzanych danych. Suma kontrolna zajmuje 2 bajty.

Wirehark-ping4.png

Identyfikator

W programie Wireshark widzimy podwójnie identyfikator, BE (big endian) i LE (little endian). Jest to ta sama wartość. Więcej o kolejności bajtów [2]

Identyfikator zajmuje 2 bajty.

Wirehark-ping5.png

Numer sekwencyjny

W programie Wireshark widzimy podwójnie numer sekwencyjny, BE (big endian) i LE (little endian). Jest to ta sama wartość. Więcej o kolejności bajtów [3]

Numer sekwencyjny zajmuje 2 bajty. Jak widać ten sam numer mamy w icmp echo request i icmp echo reply

Wirehark-ping6.png

Dane

Zajmują 32 bajty, ale możemy to zmieniać. Przykładowo w ten sposób wysyłamy 64 bajty ping 192.168.0.1 -l 64

Jak widać wysyłany jest powielany ciąg małych liter. Mała litera a, to w kodzie ASCII szesnastkowo 61.

Wirehark-ping7.png

ICMP Echo Reply (odpowiedź echa)

Trochę niezbędnej teorii

Format komunikatu:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Typ = 0 Kod = 0 Suma kontrolna nagłówka
Identyfikator Numer kolejny
Dane
  • Typ komunikatu równy 0.
  • Kod komunikatu równy 0.
  • Dane zawierają dane przesłane w ICMP Echo Request. [4]

Zrzutów nie umieszczam. Byłyby analogiczne do wcześniejszych.

PING (bez odpowiedzi)

W kolejnym przykładzie puściłem pinga na komputer z włączona zaporą sieciową. Oczywiście nie odpowiedział.

C:\Users\jarek>ping 192.168.0.17

Pinging 192.168.0.17 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.0.17:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

Jak widać w programie Wireshark wysłane zostały pakiety ICMP Echo Request, natomiast nie powróciły ICMP Echo Reply.

Wirehark-ping8.png