www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ping, ARping oder was sonst ist hier die Frage...


Autor: BastelFix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,


ich versuche gerade eine Ethernet-Kommunikation aufzubauen. Der 
Einfachheit halber, wollte ich zuerst eine Ping-Kommunikation 
realisieren.

Es gibt ja auch schon einige Projekte dazu.

Vom Windows-PC aus also ein "ping 192.168.178.30" generiert....

Beim meinem Empfänger kommt nun folgendes an:

ByteNr.
[1] 0xFF ; TARGET MAC START  <- versteh ich ;)
[2] 0xFF
[3] 0xFF
[4] 0xFF
[5] 0xFF
[6] 0xFF  ; Target MAC (Broadcast) end
[7] 0x00  ; SRC MAC START    <- ist auch klar ;)
[8] 0x50
[9] 0x70
[10] 0xAA
[11] 0x22
[12] 0x00  ; SRC MAC END
[13] 0x08  ; <- so dachte ich mir das (0x0800 = IP, 0x0806  = ARP )
[14] 0x06  ; ARP Frame??? (Ich hätte hier 0x00 erwartet)
[15] 0x00
[16] 0x01
[17] 0x08  ; <- Oder hier IP-Kennung und die 4 Byte davor VLAN-TAG??
[18] 0x00
[19] 0x06
[20] 0x04
[21] 0x00
[22] 0x01
[23] 0x00
[24] 0x50   ; <- und hier hätte ich jtzt den IP-Type 01 -> ICMP erwartet
[25] 0x70   ; scheint aber die SRC-MAC zu sein grübel
[26] 0xAA
[27] 0x22
[28] 0x00
..........

Meine Fragen an euch:
- Ist das ein ARping? Wenn ja, hat einer eine gute Beschreibung dazu 
gefunden?
- Wie starte ich von einem WIndows 2000 Rechner dann einen (IP) ICMP 
ping?
- Gibt es ein Proggi, um unter Windows einen klar definierten 
Ethernet-Frame zu versenden? <- zum debuggen

Bin wirklich gespannt auf die Antworten!!

Viele Grüße
BastelFix

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn die MAC des Interfaces, dem Deine gewünschte IP gehört (hier 
192.168.178.30) dem Rechner noch nicht bekannt ist, wird erstmal ein 
ARP-Request geschickt, um die MAC in Erfahrung zu bringen. Die 
Kommunikation im Ethernet ist ausschließlich MAC-basiert, erst darüber 
liegende Protokolle benutzen dann die IP.

Du mußt also erstmal ein ARP-Reply basteln, dann klappts auch mit ICMP.

PS: alles sehr verkürzt, bin kein Super-Netzwerker, habe aber den Kram 
mit dem ENC am AVR schon bis dahin und etwas weiter durchgekämpft.

Gruß aus Berlin
Michael

Autor: Benny Stark (b_stark)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ...
>[13] 0x08  ; <- so dachte ich mir das (0x0800 = IP, 0x0806  = ARP )
>[14] 0x06  ; ARP Frame??? (Ich hätte hier 0x00 erwartet)
>[15] 0x00
>..

Ich kenn mich mit IP/TCP nicht wirklich gut aus aber du hast doch genau 
das was du beschreibst.

13 & 14 = 0x0806
15 = 0x00
also
>[13] 0x08  ; <- so dachte ich mir das (0x0800 = IP, 0x0806  = ARP )
>[14] 0x06  ;
>[15] 0x00  ; ARP Frame???

du bist nur verrutscht.

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Nachtrag... 
http://www.tomshardware.de/lexikon/Address_Resolut...
oder Wiki haben mir da merklich weiter geholfen.

Gruß aus Berlin
Michael


Autor: Daniel M. (usul27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für solche Sachen sollte man mal einen ordentlichen Sniffer 
installieren, dann siehst du auch genauer, welches Byte was tut.
Ziemlich brauchbar:
 http://www.networkchemistry.com/products/packetyzer.php

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Wireshark (ehem. Ethereal) unter Windows hilft da schon viel weiter.

Allerdings habe ich den erst wirklich gebraucht, als ich mit TCP 
angefangen habe, da bin ich leider immernoch... :( Für ARP, ICMP, IP ist 
der Ablauf einer Verbindung und der Aufbau der Header eigentlich noch 
überschaubar.

Ich sollte eigentlich mal weitermachen damit. ;)

Gruß aus Berlin
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.