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.
Eine eigene Frage?
Dieser Thread ist über 17 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.