Du bestämmer om ett IPv4 -paket har ett ICMPV4 -paket genom att undersöka
-protokollfältet i IPv4 -rubriken.
IPv4 -rubriken innehåller ett fält som kallas "Protokoll" (vanligtvis byte -offset 9). Detta fält indikerar vilken typ av övre skiktprotokollet inkapslat i IPv4-datagrammet. Om värdet på detta protokollfält är 1 , det betyder att nyttolasten är ett ICMPV4 -paket.
Därför är processen:
1. Skaffa IPv4 -paketet: Detta kan involvera att fånga nätverkstrafik med verktyg som TCPDump, Wireshark eller liknande nätverksövervakningsprogramvara. Du måste komma åt råpaketdata.
2. analysera IPv4 -rubriken: Du måste hitta fältet "Protokoll" i IPv4 -rubriken. Den exakta byte -offset kan bero på rubrikens alternativ, men det är vanligtvis vid en känd offset.
3. Kontrollera protokollfältets värde: Om värdet är "1" är nyttolasten ett ICMPV4 -paket. Annars är det ett annat protokoll (t.ex. TCP, UDP, etc.).
Exempel (konceptuell):
Låt oss säga att du har ett IPv4 -paket representerat som en byte -array. Om du analyserar byten vid lämplig offset (vanligtvis byte 9) för protokollfältet och finner att bytes värde är `0x01` (decimal 1), vet du att det är ett ICMP -paket. Du kan sedan fortsätta att analysera ICMP -rubriken i IPv4 -paketets nyttolast för att förstå det specifika ICMP -meddelandet (t.ex. Echo -begäran, Echo -svar, etc.).
Verktyg som Wireshark hanterar denna analys automatiskt och presenterar dig en mänsklig läsbar representation av IPv4-paketet och dess ICMP-nyttolast, inklusive detaljer som ICMP-typ och kod. Men att förstå protokollfältets roll är nyckeln till att förstå hur denna bestämning görs.