Hallo, wie kann man herausfinden, ob ein IPv4 Paket optionale Parameter hat? Ich denke, dass kann man am Feld Optionen/Füllbits(Options/Padding) erkennen, bin mir aber nicht sicher. Ich bin in Wireshark auch ein paar IPv4 Pakete durchgegangen, habe aber nicht das Feld Options/Padding gesehen.
Das IHL Feld (IP Header Length) wird mit Optionen entsprechend größer.
Ein IP-Header hat mindestens 20 Byte. Bedeutet, das, wenn der IP-Header größer 20 Byte ist, der Header, dann optionale Parameter hat?
Gast
#6343471
> Bedeutet, das, wenn der IP-Header größer 20 Byte ist, der Header, > dann optionale Parameter hat? Korrekt, wenn IHL>5 dann gibt es das Options-Feld. Um festzustellen, ob und wieviele Optionen da tatsächlich drin sind, muß man das Feld parsen.
Gast
#6343510
foobar schrieb: >> Bedeutet, das, wenn der IP-Header größer 20 Byte ist, der > Header, >> dann optionale Parameter hat? > > Korrekt, wenn IHL>5 dann gibt es das Options-Feld. Um festzustellen, ob > und wieviele Optionen da tatsächlich drin sind, muß man das Feld parsen. Parsen? Das Feld wird nicht geparst, es wird einfach gelesen. Die Zahl gibt die Länge des Headers an, in Vielfachen von 32-bit.
Gast
#6343651
>> Um festzustellen, ob und wieviele Optionen da tatsächlich drin sind, >> muß man das Feld parsen. > > Parsen? Das Feld wird nicht geparst, es wird einfach gelesen. Das Feld hat eine variable Länge und enthält eine variable Anzahl von Optionen, die selbst jeweils eine variable Länge haben. Mit "einfach lesen" ist es nicht getan. Kannst ja mal einen Blick in "/usr/src/linux/net/ipv4/ip_options.c:ip_options_compile" werfen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.