Wireshark - ping
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.
- Uruchamiamy program Wireshark, rozpoczynamy przechwytywanie pakietów.
- Pingujemy bramę
- Zatrzymujemy przechwytywanie pakietów
- 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
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.
Kod komunikatu
Przy ICMP Echo Request jest równy 0. Zajmuje 1 bajt.
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.
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.
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
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.
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.