Hallo, ich probiere mich gerade an an der Inbetriebnahme eines IP Stacks auf einem uC. Der Stack soll der LwIP werden. Davor muss aber natürlich der Ethernet-Unterbau richtig laufen. Mittlerweile schaut auch alles prächtig aus. Nur beim Testen tu ich mich bisl schwer. Das Senden von Ethernetrahmen kann ich ja noch relativ leicht testen (Gegenstelle ist ein PC mit Wireshark). Nur die andre Richtung macht mir Probleme. Ich würde gerne vom PC aus rohe Ethernetrahmen versenden, die ich am uC empfange und auf gültige MAC Adresse sowie Checksumme untersuche. Gibt es da ne einfache Möglichkeit? Ich benutze WinXP bzw Win7. Hab ich da irgendwie die Möglichkeit, Ethernetrahmen ohne TCP/IP zu versenden? Gibts da ein geeignetes Tool? Gruß, Masl
Raw Sockets ist ne Lösung. Aber dann hast du entweder XP SP2 oder mit Beschränkungen zu kämpfen (ha ha): - TCP data cannot be sent over raw sockets. - UDP datagrams with an invalid source address cannot be sent over raw sockets. The IP source address for any outgoing UDP datagram must exist on a network interface or the datagram is dropped. This change was made to limit the ability of malicious code to create distributed denial-of-service attacks and limits the ability to send spoofed packets (TCP/IP packets with a forged source IP address). - A call to the bind function with a raw socket for the IPPROTO_TCP protocol is not allowed. Ich glaube unter Linux ist das ganze nicht so beschränkt.
Nargh, sowas hab ich mir fast gedacht. Linux steht mir hier nicht zur Verfügung, bin hier nicht an meinem Rechner. Hatte irgendwie gehofft es gäbe da ein kleines Tool für... Grüße, Masl
Du darfst UDP Raw Sockets benutzen, solange die Source Address stimmt.
Masl schrieb: > Hab ich > da irgendwie die Möglichkeit, Ethernetrahmen ohne TCP/IP zu versenden? Realisiere auf dem µC gleich den Arp-Reply. Den brauchst du sowieso, er ist schnell realisiert und vom PC aus kannst du dann z.B. mit ping testen.
Wireshark nutzt eine Lib, die WinPCap. Diese kann man auch in eigenen Programmen benutzen. Da sind soweit ich weiß auch einfache Sendefunktionen drin.
Mach doch einen Ping auf die Broadcastadresse. Das wird im Ethernet ein Multicast und sollte auch durch Switches mit MAC-Table kommen.
Danke martin, das scheint genau das zu sein was ich suche. Muss ich mir morgen direkt mal anschaun!
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.