Hey zusammen, Vorweg: Ich habe schon viel gegoogelt, bin mir aber noch nicht ganz sicher ob ich es richtig verstanden haben. Bin grade dabei Pakete mit einem ENC28J60 zu empfangen und zu senden. Jetzt bin ich mir über den Aufbau eines Paktes, welches ich versenden und emfpangen möchte noch nicht ganz sicher. Ich hab es folgendesmaßen verstanden: Ich habe immer einen "Ethernet Header", quasi eine Hülle um das ganze Paket. Dieser enthält die Ethernet-Sender Adresse, die Ethernet-Empfänger Adresse und den Type des Pakets (IP, ARP, ...). Je nachn Type des ankommenden Pakets muss ich dann unterscheiden wie ich weiter verfahen möchte richtig? Wenn das Paket z.B. ein ARP-Paket ist folgt als nächstes der"ARP-Header" welcher dann Informationen wie Anfrage/Antwort etc. enthält. Wenn ich ein Paket versenden möchte muss ich es quasi auch so zusammenbauen, erst einen Ethernet-Header und dann die anderen Header einfügen, je nach dem was ich brauche. Bitte korrigiert mich wenn ich falsch liege:) Liebe Grüße
Andersrum;: Zum Senden musst du deinen Daten einen TCP-Header voranstellen, dem neuen Paket dann den IP-Header und zuletzt um alles rum noch en Ethernet-Header.
Eher wie es Guido geschrieben hat, andersherum. Dazu gibt es im Netz auch schöne Grafiken: http://www.netzmafia.de/skripten/netze/schichten.gif
Ok super, schonmal vielen Dank für die Antworten, das Bild ist ganz nützlich:). Und wenn ich quasi eine ARP-reply senden will habe ich meinen ARP-Header und darum packe ich dann den Ethernet-Header, mehr brauche ich da ja nicht richtig? IP-Header und ARP-Header sind doch quasi das gleiche, außer dass sich der Operation Code unterscheided. Die Kommunikation auf der dritten OSI-Schicht erfordert also immer einen IP-Header und einen Ethernet-Header, die auf der vierten OSI-Schicht dann einen TCP-Header, IP-Header und einen Ethernet-Header usw.?
man könnte sich auch anschauen, wie das andere machen z.b. https://github.com/thiseldo/EtherShield https://github.com/jcw/ethercard usw.
Danke für die Links. Hab mir auch schon diverse Beispiele und andere Programme angesehen, wollte aber nochmal unabhängig davon nachfragen ob ichs richtig verstanden hab:). Denn wenn man sich komplexere Programme ansieht kann es ja doch mal vorkommen dass man was übersieht.
Lade dir mal Wireshark herunter, erzeuge eine kurze Aufzeichung, dann kannst du im Paket herum clicken und sehen, welche Felder wo und wie gefüllt werden.
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.