Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hey Leute,

ich arbeite gerade eine alte Klausur durch und bin auf einen Hexdump gestoßen. Ich hatte so meine Probleme mit dem IP Datagramm, habe es aber dann durch Nachrechnen hinbekommen. Nun gibt es hier aber auch noch ein ARP Datagramm, welches ich mir irgendwie nicht erklären kann (siehe Anhang). Durch Recherche habe ich ein paar Antworten raus bekommen, aber das ist ja nicht Sinn der Sache. Wie kann ich also das ARP mit den Werten aus dem Hex Dump füllen? 

Die Aufgaben sind auch folgende: 

a.) An welchen Bytes kann man erkennen, dass hier zwei Netzwerkkarten des gleichen Herstellers im Einsatz sind?

b.) Wie lauten die IP-Adressen in Dezimalnotation?

c.) Wie lauten Quell- und Zielport?

d.) Welcher Dienst wird auf Osi-Schicht 4 angesprochen?

 

Wäre sehr cool, wenn ihr mir dabei helfen könntet. Habe auch ein paar Verständnisprobleme beim TCP-Segement (im 32-Bit-Raster), da würde ich mich dann (sobald ich es dann verstanden habe) selbst dran versuchen.

hexdump.PNG

arpVorlage.PNG

Geschrieben

Mach dir nochmal klar, dass die beiden Dinger, also der Hex-Dump und das ARP-Datagramm, eigentlich genau das Gleiche darstellen, nur eben in unterschiedlicher Schreibweise -> das eine ist hexadezimal, das andere in Bits bzw. Byte.

Hier zB nochmal ganz gut dargestellt: http://www.tcpipguide.com/free/t_ARPMessageFormat.htm
-> die Graphik etwas weiter unten; hier ist ersichtlich dass die oberen Zahlen im deinem ARP-Datagramm (0-7, 8-15, 16-31) Bits sind.
Es wird aber im Datagramm auch in Byte-Schritten gezählt, sodass man hier ein wenig aufpassen muss, dass man nicht durcheinander kommt.

Die wichtigste Einsicht für den Vergleich der beiden Graphiken bekommst wohl, wenn du dir folgende Frage beantwortest: Wenn du eine Hex-Zahl bzw. ein Hex-Pärchen oben stehen hast, wieviel Bits entspricht das unten?

-> Dann brauchst du im Prinzip "nur" noch abzählen ;)

 

 

 

PS

Spoiler

Ein Hex entspricht 4 Bit, ein Hex-Pärchen ist = 8 Bit bzw. 1 Byte

 

Geschrieben (bearbeitet)

@Han_Trio Die Hexadezimalziffersequenz ist die des IP-Packets der vorherigen Aufgabe, nicht die eines ARP-Packets.

@0rd1naryCoffee
Zum vollständigen Ausfüllen des ARP-Datagramms fehlen noch einige Infos:
Hardwaretyp ist Ethernet (codiert mit 1), also 0000 0000 0000 0001.
Protokolltyp ist der Ethertype des L3-Adressprotokolls, dessen Adressen zu den L2-Adressen gemappt werden (in dem Fall IPv4 => 0x0800) => 0000 1000 0000 0000.
HW-Adresslänge, also Länge unserer L2-Adressen (hier MAC-Adressen) ist 6 (Bytes) => 0000 0110.
Protokolllänge, also Länge unserer L3-Adressen (hier IPv4-Adressen) ist 4 => 0000 0100.
Operation: 0000 0001 für Request und 0000 0002 für Response. Ohne Zusatzinfos hier nicht erkennbar, was das hier ist.
Sender-MAC-Adresse wird aus den ersten 48 Bit (= 6 Byte/12 Ziffern) des Ethernet-Frame-Hexdumps extrahiert => 0x0019993285a9 => (schreib ich jz nicht mehr als Bitsequenz auf, aber jede Hex-Ziffer entspricht einer 4-Bit-Sequenz).
Ziel-MAC-Adresse äquivalent mit den zweiten 12 Ziffern => 0x001999328449.
Sender-IP-Adresse sind Byte 13-16 des IPv4-Headers und bei 14 Byte Ethernet-Header Byte 27-30 des Hex-Dumps => 0xc0a80a50 => (in dotted decimal) 192.168.10.80
Ziel-MAC-Adresse: Wissen wir nicht. Entweder 0x000000000000 bei einer Request-Operation, oder z.B. die gewünschte MAC-Info einer Response.
Ziel-IP-Adresse: Wissen wir auch nicht. Die IP-Adresse des Netzwerkteilnehmers, von dem die MAC-Adresse herausgefunden werden soll.


Zu den Aufgaben:
a) Die Bits 2 bis 23 einer MAC-Adresse sind historisch herstellerspezifisch. Wenn also Quell- und Ziel-MAC-Adresse in den ersten 0-23 Bits gleich sind, kommen die zugehörigen Netzwerkkarten eventuell vom selben Hersteller. Das aber ist nicht zuverlässig, weil nicht immer der Fall, und weil MAC-Adressen geändert werden können.
Im Hex-File guckt man also auf die ersten 24 Bit (= 3 Byte bzw. 6 Hexadezimalziffern) der ersten 48 Bit (= 6 Byte/12 Ziffern) sowie die ersten 24 Bit der zweiten 48 Bit.

b)
Siehe oben. Entsprechend für die Ziel-IP-Adresse gilt: 0xc0a80a51 => 192.168.10.81

d)
IP-Protokolltyp steht in Byte 10 des IPv4-Headers, also in Byte 24 => 0x06 (= TCP)

c)
Im TCP-Header stehen in den ersten 2 Byte der Source- und in den nächsten 2 der Destination-Port.
Nach 14 Byte-Ethernet und (ohne Optionen) 20 Byte IPv4-Header also in Byte 35-36 bzw. 37-38.
=> src port 0x05dc => 5220
=> dst port 0x0014 => 20


Doch, natürlich ist der Sinn der Sache, dass du sowas durch Recherchieren und Lesen von u.A. RFCs herausfindest. Es ist nicht notwendig, sowas in dem Detail komplett aus dem Kopf zu können. Das geht auch erst, wenn du eine Weile mit genau sowas zu tun gehabt hast.
kleine Randnotiz: Ich hab hier die Bytes von 1 (und nicht von 0) an gezählt.

Bearbeitet von tmp
Format
Geschrieben
vor 10 Stunden schrieb tmp:

@Han_Trio Die Hexadezimalziffersequenz ist die des IP-Packets der vorherigen Aufgabe, nicht die eines ARP-Packets.

@0rd1naryCoffee
Zum vollständigen Ausfüllen des ARP-Datagramms fehlen noch einige Infos:
Hardwaretyp ist Ethernet (codiert mit 1), also 0000 0000 0000 0001.
Protokolltyp ist der Ethertype des L3-Adressprotokolls, dessen Adressen zu den L2-Adressen gemappt werden (in dem Fall IPv4 => 0x0800) => 0000 1000 0000 0000.
HW-Adresslänge, also Länge unserer L2-Adressen (hier MAC-Adressen) ist 6 (Bytes) => 0000 0110.
Protokolllänge, also Länge unserer L3-Adressen (hier IPv4-Adressen) ist 4 => 0000 0100.
Operation: 0000 0001 für Request und 0000 0002 für Response. Ohne Zusatzinfos hier nicht erkennbar, was das hier ist.
Sender-MAC-Adresse wird aus den ersten 48 Bit (= 6 Byte/12 Ziffern) des Ethernet-Frame-Hexdumps extrahiert => 0x0019993285a9 => (schreib ich jz nicht mehr als Bitsequenz auf, aber jede Hex-Ziffer entspricht einer 4-Bit-Sequenz).
Ziel-MAC-Adresse äquivalent mit den zweiten 12 Ziffern => 0x001999328449.
Sender-IP-Adresse sind Byte 13-16 des IPv4-Headers und bei 14 Byte Ethernet-Header Byte 27-30 des Hex-Dumps => 0xc0a80a50 => (in dotted decimal) 192.168.10.80
Ziel-MAC-Adresse: Wissen wir nicht. Entweder 0x000000000000 bei einer Request-Operation, oder z.B. die gewünschte MAC-Info einer Response.
Ziel-IP-Adresse: Wissen wir auch nicht. Die IP-Adresse des Netzwerkteilnehmers, von dem die MAC-Adresse herausgefunden werden soll.


Zu den Aufgaben:
a) Die Bits 2 bis 23 einer MAC-Adresse sind historisch herstellerspezifisch. Wenn also Quell- und Ziel-MAC-Adresse in den ersten 0-23 Bits gleich sind, kommen die zugehörigen Netzwerkkarten eventuell vom selben Hersteller. Das aber ist nicht zuverlässig, weil nicht immer der Fall, und weil MAC-Adressen geändert werden können.
Im Hex-File guckt man also auf die ersten 24 Bit (= 3 Byte bzw. 6 Hexadezimalziffern) der ersten 48 Bit (= 6 Byte/12 Ziffern) sowie die ersten 24 Bit der zweiten 48 Bit.

b)
Siehe oben. Entsprechend für die Ziel-IP-Adresse gilt: 0xc0a80a51 => 192.168.10.81

d)
IP-Protokolltyp steht in Byte 10 des IPv4-Headers, also in Byte 24 => 0x06 (= TCP)

c)
Im TCP-Header stehen in den ersten 2 Byte der Source- und in den nächsten 2 der Destination-Port.
Nach 14 Byte-Ethernet und (ohne Optionen) 20 Byte IPv4-Header also in Byte 35-36 bzw. 37-38.
=> src port 0x05dc => 5220
=> dst port 0x0014 => 20


Doch, natürlich ist der Sinn der Sache, dass du sowas durch Recherchieren und Lesen von u.A. RFCs herausfindest. Es ist nicht notwendig, sowas in dem Detail komplett aus dem Kopf zu können. Das geht auch erst, wenn du eine Weile mit genau sowas zu tun gehabt hast.
kleine Randnotiz: Ich hab hier die Bytes von 1 (und nicht von 0) an gezählt.

Zunächst danke für die ausführliche Antwort :) 
Ich glaube mein Problem hierbei ist nun, dass ich nicht ganz aus einigen Angaben im ARP Datagramm schlau werde. Nehmen wir z.B. die Ziel IP-Adresse (letzte Zeile). Hier ist im Datagramm nun Byte 0 - 3 angegeben. Meine Frage ist nun, von wo fange ich da an zu zählen? Welche Rolle spielt die Zeile (in dem Fall die letzte), in der die Information steht?  

Geschrieben (bearbeitet)

Wie gesagt, die Zieladresse ist nicht aus dem Hexfile ersichtbar.
Zur Übertragung von Paketen im Netzwerk brauchst du (meistens nur noch historisch bedingt) oft eine Link-Layer-Adresse (hier MAC-Adresse) deines Zielknotens.
ARP sucht dir zu einer bekannten L3-Adresse (hier IPv4) diese noch unbekannte L2-Adresse raus, indem es ein Request mit der bekannten L3-Adresse broadcastet. Diese im Voraus bekannte IP-Adresse steht dann in diesem ARP-Header-Feld eines ARP-Requests.
In einem Response-Paket stehen in Sender-L2- und -L3-Adressfeld die MAC- und IP-Adresse des antwortenden Knotens, und in Target-* die MAC- und IP-Adresse des anfragenden Knotens.

Bearbeitet von tmp

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...