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?
> 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.
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.
>> 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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.