ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) to protokół raportowania błędów używany przez urządzenia sieciowe, takie jak routery, do generowania komunikatów o błędach na źródłowy adres IP, gdy problemy z siecią uniemożliwiają dostarczanie pakietów IP. ICMP tworzy i wysyła wiadomości na źródłowy adres IP, wskazując, że nie można dotrzeć do bramy do Internetu, takiej jak router, usługa lub host, w celu dostarczenia pakietów. Każde urządzenie sieciowe IP ma możliwość wysyłania, odbierania lub przetwarzania wiadomości ICMP.

ICMP nie jest protokołem transportowym, który wysyła dane między systemami.

chociaż ICMP nie jest regularnie używany w aplikacjach użytkowników końcowych, jest używany przez administratorów sieci do rozwiązywania problemów z połączeniami internetowymi w narzędziach diagnostycznych, w tym ping i traceroute.

w jakim celu stosuje się ICMP?

ICMP to protokół warstwy sieciowej używany przez routery, urządzenia pośredniczące i hosty do przekazywania informacji o błędach lub aktualizacji do innych routerów, urządzeń pośredniczących i hostów.

wiadomości ICMP są wysyłane w kilku scenariuszach. Na przykład, jeśli jedno urządzenie wyśle wiadomość, która jest zbyt duża, aby odbiorca mógł ją przetworzyć, odbiorca upuści tę wiadomość i wyśle wiadomość ICMP z powrotem do źródła. Innym przykładem jest sytuacja, w której bramka sieciowa znajduje krótszą trasę dla wiadomości. Gdy tak się stanie, wysyłany jest komunikat ICMP, a Pakiet jest przekierowywany na krótszą trasę.

ICMP jest również używany do diagnostyki sieci, w szczególności do terminali ping i traceroute.

diagram wiadomości echo
gdy host wysyła wiadomość typu echo 8, serwer odpowiada wiadomością odpowiedzi typu echo 0, ponieważ jest osiągalna.
  • Traceroute. Narzędzie traceroute służy do wyświetlania fizycznej ścieżki routingu między dwoma komunikującymi się ze sobą urządzeniami internetowymi. To mapuje podróż z jednego routera do drugiego — czasami nazywany hop. Korzystanie z traceroute do diagnozowania problemów z siecią może pomóc administratorom zlokalizować źródło opóźnienia sieci.
  • Ping. Narzędzie ping jest prostszym traceroute. Wysyła pingi-określane również jako echo request messages – a następnie mierzy czas potrzebny na dotarcie Wiadomości do miejsca docelowego i powrót do źródła. Odpowiedzi te nazywane są Wiadomościami odpowiedzi echo. Pingi są przydatne do zbierania informacji o opóźnieniach dotyczących konkretnego urządzenia. W przeciwieństwie do traceroute, ping nie zapewnia map graficznych układu routingu. Narzędzie ping jest często wykorzystywane do niektórych ataków typu DoS (denial of service).

powszechnie używany protokół internetowy w wersji 4 lub klasa adresu IPv4, A nowszy IPv6 używa podobnych wersji protokołu ICMP-odpowiednio ICMPv4 i ICMPv6.

Destination unreachable diagram
Host A próbuje wysłać pakiet IP do hosta B. Host B jest nieosiągalny, więc router odpowiada Komunikatem ICMP typu 3.

jak działa ICMP?

ICMP jest jednym z głównych protokołów pakietu IP. ICMP nie jest jednak powiązany z żadnym protokołem warstwy transportowej, takim jak Transmission Control Protocol (TCP) lub User Datagram Protocol (UDP). Jest to protokół bezpołączeniowy, co oznacza, że urządzenie nie musi otwierać połączenia z urządzeniem docelowym przed wysłaniem wiadomości. Kontrastuje to z TCP, na przykład, gdy połączenie musi zostać nawiązane przed wysłaniem wiadomości, ustalając, że oba urządzenia są gotowe poprzez TCP handshake.

komunikaty ICMP są przesyłane jako datagramy i składają się z nagłówka IP, który zawiera dane ICMP. Datagram, podobnie jak Pakiet, jest samodzielnym, niezależnym podmiotem danych. Pomyśl o tym jak o paczce, która niesie większą wiadomość w sieci. Pakiety ICMP to pakiety IP z ICMP w części danych IP. Wiadomości ICMP zawierają również cały nagłówek IP z oryginalnej wiadomości, więc system końcowy wie, który Pakiet się nie powiódł.

nagłówek ICMP pojawia się po nagłówku pakietu IPv4 lub IPv6 i jest identyfikowany jako numer protokołu IP 1. Protokół zawiera trzy parametry, opisane poniżej. Po tych trzech parametrach są dane ICMP i oryginalny nagłówek IP identyfikujący, który pakiet nie powiódł się.

parametry ICMP

parametry ICMP istnieją w nagłówku pakietu i pomagają zidentyfikować błędy w pakiecie IP, którego dotyczą. Parametry są jak etykieta wysyłkowa na opakowaniu. Dostarczają one informacji identyfikujących pakiet i zawarte w nim dane. W ten sposób protokoły i Narzędzia sieciowe odbierające komunikat ICMP wiedzą, jak obsługiwać pakiet.

pierwsze 32 bity nagłówka pakietu każdej wiadomości ICMP zawierają trzy pola informacyjne lub parametry. Te trzy parametry są następujące:

  1. Typ. Pierwsze 8 bitów to typy wiadomości. Niektóre popularne typy wiadomości obejmują następujące:
      1. Type 0 — Echo reply
      2. Type 3 — Destination unreachable
      3. Type 8 — Echo
      4. Type 5 — Redirect

    Typ zawiera krótkie wyjaśnienie, do czego służy wiadomość, więc odbierające urządzenie sieciowe wie, dlaczego otrzymuje wiadomość i jak ją traktować. Na przykład Echo typu 8 jest zapytaniem wysyłanym przez host, aby sprawdzić, czy potencjalny system docelowy jest dostępny. Po otrzymaniu wiadomości ECHA urządzenie odbierające może wysłać odpowiedź ECHA (Typ 0), wskazując, że jest dostępna.

    Internet Assigned Numbers Authority (Iana) udostępnia listę wszystkich typów wiadomości używanych przez pakiety ICMP.

  2. Kod. Następne 8 bitów reprezentuje kod typu wiadomości, który dostarcza dodatkowych informacji o typie błędu.
  3. suma kontrolna. Ostatnie 16 bitów zapewnia sprawdzenie integralności wiadomości. Suma kontrolna pokazuje liczbę bitów w całej wiadomości i umożliwia narzędziu ICMP sprawdzenie spójności z nagłówkiem wiadomości ICMP, aby upewnić się, że dostarczono pełny zakres danych.

następną częścią nagłówka ICMP jest wskaźnik. Składa się z 32 bitów danych, które wskazują na problem w oryginalnym komunikacie IP. W szczególności wskaźnik identyfikuje lokalizację bajtów w oryginalnym komunikacie IP, która spowodowała wygenerowanie komunikatu problemu. Urządzenie odbierające patrzy na tę część nagłówka, aby wskazać problem.

ostatnia sekcja pakietu ICMP to oryginalny datagram. Składa się z maksymalnie 576 bajtów w IPv4 i 1280 bajtów w IPv6 i zawiera kopię oryginalnego komunikatu IP zawierającego błędy.

schemat pakietów ICMP
nagłówek pakietu ICMP pochodzi po nagłówku IPv4 lub IPv6. Zawiera trzy części: Typ, kod i sumę kontrolną. Po nagłówku następuje wskaźnik, który identyfikuje problem w oryginalnej wiadomości, a następnie pojawia się oryginalny datagram.

ICMP w atakach DDoS

w rozproszonych atakach DoS (DDoS) atakujący przytłaczają cel niechcianym ruchem, więc cel nie może świadczyć usług swoim użytkownikom. Atakujący może użyć ICMP do wykonania tych ataków na wiele sposobów, w tym na następujące sposoby:

  • Atakujący wysyła pakiet IP większy niż liczba bajtów dozwolona przez IP. W drodze do zamierzonego miejsca docelowego ponadgabarytowy Pakiet jest fragmentowany. Jednak gdy urządzenie odbiorca składa je ponownie, rozmiar przekracza limit, powodując przepełnienie bufora i zamrożenie lub awarię maszyny odbiorczej. Nowsze urządzenia mają zabezpieczenia przed tym atakiem starszego typu, ale starsze urządzenia sieciowe są nadal podatne na niego.
  • atak powodziowy ICMP. Czasami nazywany atakiem ping flood, celem tego ataku jest przytłoczenie urządzenia docelowego pakietami żądań echo. Każdy pakiet żądania echo musi być przetworzony przez obiekt docelowy i odpowiedział na wiadomości odpowiedzi echo. To zasysa wszystkie zasoby komputera docelowego, i powoduje odmowę usługi do innych użytkowników komputera docelowego.
  • smerfny atak. W przypadku ataku Smerf atakujący wysyła pakiet ICMP z fałszywym źródłowym adresem IP, a urządzenie warstwy sieciowej odpowiada na pakiet, wysyłając fałszywy adres zalew pakietów. Podobnie jak ping śmierci, ataki Smerfów są bardziej prawdopodobne, aby zadziałały na niezabezpieczonym, starym sprzęcie.

ataki DDoS oparte na ICMP stały się coraz powszechniejszym cyberatakiem. Dowiedz się więcej o atakach DDoS w ogóle i jak stały się one bardziej zróżnicowane taktycznie w ostatnich latach.

Leave a Reply