Hallo allerseits, ich bin auf der Suche nach einem Ethernet Datenlogger. Ich möchte gerne Ethernet Frames im Raw Mode lesen. Zum Hintergrund: Ich habe hier eine Anwendung auf einem FPGA entwickelt, die an einen Ethernet Phy (via RMII Interface) angeschlossen ist. Nun möcht ich sehen, ob die Daten wirklich wie gewünscht ankommen. Da es sich nicht um IP Frames Handelt, werden sie im Wireshark leier nicht angezeigt, einen RAW Mode konnte ich leider nicht finden. Aufbau meiner Frames: (Präambel) (Adressfeld, nicht ethernetkonform) (Nutzdaten) Kennt hier jemand ein gut geeignetes Programm? Zum Testen stehen mir sowohl windows Vista als auch Ubuntu 8.10 zur Verfügung. Vielen Dank und viele Grüße Martin
such mal nach 'WinPcap' aber kann sein dass das auch nicht hilft, wenn deine selbstgebauten eth-frames inkompatibel sind (weil z.b. der CRC fehlt oder im header was faul ist). eine normale ethernet-karte schmeisst alles weg, was ihr nicht geheuer vorkommt. wahrscheinlich müsstest du dir eine eigene hardware basteln, um solche frames aufzufangen.
wenn das ganze schon auf Hardware Ebene weggeschmissen wird, dann brauch ich auch nicht auf Softwareebene versuchen, das auszulesen. Meine Frames sind absolut inkompatibel, CRC gibts nicht, dafür aber auch keine Header im normalen Format... Das einzige, womit ich dienen kann, sind Ethernetpakete, die ein vielfaches von 64 Bit groß sind... Vielen Dank erst einmal für Deinen Tip, WinPCap werd ich mir aber dennoch mal anschauen
Wer soll das dann überhaupt verarbeiten? Schon der nächste Switch wird sie ja dann wegwerfen. Mit alten 10-Mbit/s-Hubs und einer klassischen Ethernetkarte im promiscuous mode solltest du die Frames sehr wohl auch im Wireshark angezeigt bekommen können. (Den Hub brauchst du, damit es eben nicht ein Switch ist, der die Frames gleich gar nicht erst weiterleitet.) Keine Ahnung, ob die Windows-Treiber promiscuous mode unterstützen, Unix-Treiber sollten es tun.
Kann mich dem nur anschliessen. Wenn Du im ISO/OSI Modell nicht wenigstens bis Layer 3 (Vermittlungsschicht, IP) kompatibel bist, wird dir jede normale Netzwerkkarte das Paket wegschmeissen. Und "Wireshark" wäre grundsätzlich das richtige Tool. Damit kommst du bis auf das letzte Bit in einem gültigen Ethernetframe runter, also auf die RAW Daten.
Daniel Buergin wrote: > Kann mich dem nur anschliessen. Wenn Du im ISO/OSI Modell nicht > wenigstens bis Layer 3 (Vermittlungsschicht, IP) kompatibel bist, wird > dir jede normale Netzwerkkarte das Paket wegschmeissen. Nein, Layer 2 (media access) genügt, auch wenn mittlerweile die Netzwerkkarten teilweise Support für IP (checksum offloading) besitzen. Man kann dennoch über sie auch andere Protokolle fahren.
> Mit alten 10-Mbit/s-Hubs und einer klassischen Ethernetkarte im > promiscuous mode solltest du die Frames sehr wohl auch im Wireshark > angezeigt bekommen können. promiscuous-mode bedeutet nur, dass die karte alle eth-adressen akzeptiert normalerweise wird beim empfang nur die eigene, ein paar multicast-adressen und die broadcast-adresse durchgelassen. kaputte paket (z.b. solche, deren CRC nicht stimmt) werden immer ausgefiltert. einige, seltene karten haben aber einen speziellen 'sniffer-modus', der wirklich alles durchlässt.
>promiscuous-mode bedeutet nur, dass die karte alle eth-adressen >akzeptiert normalerweise wird beim empfang nur die eigene, ein paar >multicast-adressen und die broadcast-adresse durchgelassen. Sehr interessant. Wie kann ich diesen Modus beim PC aktivieren?
> Wie kann ich diesen Modus beim PC aktivieren?
wenn deine neztzwerkkarte das kann und der treiber auch, dann wirst du
beim 'wireshark' eine checkbox 'promiscuous-mode' vorfinden. leider wird
dieser modus nicht von allen karten und treibern unterstützt.
Matthias Lipinsky wrote:
> Wie kann ich diesen Modus beim PC aktivieren?
Über den Treiber. Auf meinem PC über einen ioctl(SIOCSIFFLAGS).
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.