Ethernet Frame manuell auf Leitung schreiben
-
Hallo Leute
Bin mir nicht ganz sicher ob das hier her gehört, aber ich hab den Borland 6, deshalb hab ichs hier rein gepostet. Wenn nicht, sorry, bitte verschieben.
Mich würde mal interessieren, wie man in C++ manuell Bytes auf die Netzwerkleitung schreiben kann (auf Ethernet - Ebene). Hab schon überall gesucht, ich finde aber immer nur was über Sockets. Die bringen mir aber nichts, die sind auf zu hoher Ebene des OSI-Modells.
Wenn jemand Informationen oder Links zu Informationen hat, wie ich Daten auf das Netzwerk-Interface schreiben kann, wäre ich ihm sehr dankbar. Ich denke dass das irgendwie mit Streams geht, aber ich weiß es nicht.Vielen Dank

-
--> http://www.winpcap.org/
damit kannst du eth.-frames (empfängeradresse bis payload-ende) senden (und empfangen).
nur keine preamble und keinen crc usw, aber das interessiert sowieso nur die hardware...
-
Hallo
Auch Streams setzen in der Regel auf vorhandene Sockets auf. Unter Windows kommst du an den Windows-Sockets nicht vorbei, weil Windows den direkten Zugang zur Netzwerkkarte nicht zuläßt. Bestenfalls kannst du Treiberspezifische Funktionen benutzen, der Aufwand dürfte aber in den meisten Fällen zu groß sein.
Ich verschieb dich mal ins WinAPI-Forum.
bis bald
akari
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Vielen Dank, winpcap werd ich mal ausprobieren!
-
Unter Windows gibt es RAW-Socket mit denen das geht. Seit XP-SP2 kann man aber die Absenderadresse nicht mehr "fälschen".
-
Jochen Kalmbach schrieb:
Unter Windows gibt es RAW-Socket mit denen das geht.
das geht nicht damit.