Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Network · LAN, WAN, Firewalls Alle Fragen rund um das große, kleine Internet finden hier eine Antwort. LANs, WANs, Router, Switches, Bridges, Verkabelung...

IP Header Checksum Algorithmus

Diskussion: IP Header Checksum Algorithmus im Forum Network · LAN, WAN, Firewalls, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo. Vor kurzem hab ich mich mal in WinPCAP eingelesen und jetzt auch versucht ein IP-Paket zu erstellen. Klappt ...

Antwort
Alt 30.05.05, 19:55   #1 (permalink)
 
Registriert seit: 30.05.05
v01d Leistung: Facit NTK
Likes: 0
Standard IP Header Checksum Algorithmus

Anzeige

Hallo.
Vor kurzem hab ich mich mal in WinPCAP eingelesen und jetzt auch versucht ein IP-Paket zu erstellen. Klappt alles wunderbar nur die Checksumme ist bei mir immer Grundsätzlich falsch. Mit Raw Sockets gabs dieses Problem nicht, da der Kernel den IP Header ja selbst berechnet aber ich find keinen Algo der mir den berechnet.
Die beschreibung hab ich bereits gefunden:
http://www.ietf.org/rfc/rfc791.txt (IP Protokoll)
Beim TCP Protokoll wird die Checksumme genauso berechnet:
http://www.ietf.org/rfc/rfc793.txt (TCP Protokoll)
Wenn ich aber den Algorithmus vom TCP Protokoll zum berechnen des IP-Headers verwende bekomm ich einen falschen Wert.
Google findet auch nur Funktionen zu für die TCP Checksumme und nicht für den IP Header.
Hat jemand ne Funktion oder noch besser, nen Sourcecode?

v01d ist offline   Mit Zitat antworten
Alt 30.05.05, 21:55   #2 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

bei der code-suchmaschine www.koders.com kannst du mal gucken.
hab auf die schnelle zB das hier gefunden.
http://koders.com/c/fidD8303149B97DE...+checksum#L127

oder bei sourceforge könnte man auch mal schauen. da gibts zB das tool ant mit dem man netzwerkframes erstellen kann. in dem source müsste die funktion auch zu finden sein.
http://sourceforge.net/projects/ant/
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 31.05.05, 17:58   #3 (permalink)
Themenstarter
 
Registriert seit: 30.05.05
v01d Leistung: Facit NTK
Likes: 0
Standard

So, hab jetzt 3 verschiedene Funktionen mal ausprobiert (u.a. die von www.koders.com) aber immer liefert die Funktion mir eine total andere Checksumme zurück. Ich hab mal gegoogled aber es gibt wirklich keine Seite auf der der Algorithmus näher erklärt wird. Überall wird nur gelabert dass der Header auf 0 gesetzt wird und jeder Router die neu berechnen muss.
Ich muss doch nur der drecks Funktion den IP-Header übergeben und die Länge, also 20, oder? Klappt aber nicht. Gibts da auch so nen Pseudoheader wie bei TCP oder was geht da? Kann doch net sein dass noch nie jemand von euch selber ein IP Paket erstellt hat...
v01d ist offline   Mit Zitat antworten
Alt 31.05.05, 20:33   #4 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

Zitat:
Original von v01d
Ich muss doch nur der drecks Funktion den IP-Header übergeben und die Länge, also 20, oder?
kommt drauf an. mit den optionalen zusatzangaben ist der header länger als 20 bytes.

hier ist ein extra RFC zur ckecksum: http://www.faqs.org/rfcs/rfc1071.html
unter 4.1 ist auch nochmal ein beispiel code. ist offensichtlich das grundgerüst des codes von koders.com, aber etwas anders (sieht einfacher aus).
probiers mal mit dem und überprüfe folgendes:
- addr zeigt auf den anfang des IP headers
- daten des headers müssen natürlich zusmammenhängend sein
- im checksum feld des headers muss vor der berechnung eine 0 stehen (0000000000000000)
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 31.05.05, 21:00   #5 (permalink)
Themenstarter
 
Registriert seit: 30.05.05
v01d Leistung: Facit NTK
Likes: 0
Standard

Oh mann ich könnt mich so schlagen, ne...
Ich hatte nen ziemlich billigen Fehler im restlichen Code, der mir erst aufgefallen ist, nachdem ich tonnenweise codes durchgeguckt hatte. Ich hatte vergessen die Länge des IP Pakets im IP Header ins Big Endian Format umzuwandeln. Die Checksums waren dadurch natürlich komplett falsch. Die gesnifften Pakete hatten aber die richtige Länge eingetragen und somit die richtige Checksumme auch berechnet. Btw die IP Checksumme berechnet sich übrigends genauso wie die TCP/UDP Checksumme.
Danke trotzdem für die Hilfe.
v01d ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » Network · LAN, WAN, Firewalls » IP Header Checksum Algorithmus
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
cmos checksum bad.... schn33m4nn Die Problemzone 10 21.06.11 09:16
Nach Trennung vom Stromnetz: CMOS Checksum Error boehmi Die Problemzone 1 25.10.07 20:40
"BIOS ROM Checksum error" Mana Die Problemzone 8 01.10.07 17:58
Checksum Offload 8139too Raiju Network · LAN, WAN, Firewalls 0 01.07.05 12:23
1805 PCI/PNP Error! Adapter ROM Checksum error Fragger Hardware Probleme 0 19.10.01 15:02


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61