mikrocontroller.net

Forum: PC-Programmierung "Spiegeln" der Ethernet Daten


Autor: KingSize (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

für ein Projekt würde ich ein kleines Tool brauchen, das mit bei meinem 
Windows XP Rechner alle eingehenden Datenpakete wieder raussendet.
Wozu das ganze?
Ich würde die Packete gerne mit Etherreal, Wireshark mitprotokollieren.

Kennst jemand ein Programm das das bewerkstelligen kann?
Thx!

Autor: Fragender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst doch nix zurücksenden, damit du mit Wireshark mitprotokollieren 
kannst.
Versteh dein Problem nicht ...

Sich Fragender

Autor: KingSize (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Fragender, danke für deine Antwort!

Es geht darum, ein Bussystem auf Ethernet Basis zu implementieren. 
Dieses System hat eine (logische) Ringstruktur, da im CAT5 Kabel selbst 
ja sowohl die RX als auch TX Leitung vorhanden sind.

Die Busteilnehmer werden logisch im Ring verbunden, physikalisch ist das 
einfach ein Ethernet Kabel das von Teilnehmer zu Teilnehmer geht.
Der letze Teilnehmer (was dann der PC mit Etherreal wäre) muss das 
Packet das er empfängt wieder zurückschicken. Deswegen suche ich auch 
ein Tool, das das bewerkstelligen kann.

Ich hoffe ich habe die Funktionsweise halbegs erklären können

Autor: Fragender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht kommst du hiermit weiter:

http://ettercap.sourceforge.net/

Ansonsten wohl selber schreiben ...

Autor: Johannes Slotta (johanness)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde es nicht vielleicht schon reichen, den PC per Hub zwischen die 
zwei Segmente zu hängen? Hubs hat man doch zu Diagnosezwecken immer ein 
paar rumliegen, oder? ;)
Natürlich geht das nur solange die Geräte sich nicht daran stören, wenn 
der PC ab und zu übers Netz auch ein paar Broadcastpakete verschickt.

Der Hub schickt einfach alles, was reinkommt, auf allen anderen 
Anschlüssen wieder raus, das Paket würde also gleichzeitig an PC und 
nachgeschaltetem Gerät ankommen.

Ansonsten beschreib mal bitte genauer, wie dein Bussystem funktioniert 
:)

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

selber schreiben. Mit http://www.winpcap.org/ und den mitgelieferten 
Beispielprogrammen ist das eine Sache von 20 Minuten.

Matthias

Autor: Johannes S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Antworten!

@ Fragender: optimal ist die SW leider nicht, ich werd wohl zur guten, 
alten Handarbeit greifen ;)

@ Johannes: Die Idee hatte ich auch schon, du glaubst gar nicht wie 
schwer es ist einen reinen Hub zu finden. Alle Hubs die ich im Einsatz 
hatte, haben die zurückkommenden Datenpackete einfach verworfen.
Ein konfigurierbarer Switch würde auch gehen, ist aber leider sehr 
langsam und man weiß auch nicht so recht wie die interne Firmware genau 
arbeitet.

@ Matthias: Thx für den Link, werd mich dann gleich mal ans Werk machen.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Haben die Busteilnehmer ein oder 2 Netzwerkports?

Hört sich interresannt an. Geht das in richtung ethercat?

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probiere mal folgendes:

Zutaten:
dummerhub, bissele Werkzeug, Kabel netzwerkstecker, Patchfeld usw...

Rezept:
Wir nehmen eine Patchleitung und legen die so auf ein Patchfeld auf dass 
das rx und tx paar auf 2 verschiedenen Ports liegen. Nun nehmen wir 2 
Kurze Patchleitungen und verbinden die mit dem Hub.

So sollte der Hub die Pakete sowohl spiegeln als auch an allen anderen 
Ports ausgeben....

Autor: KingSize (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ulrich,
danke für deine Antworten. Jepps du hast Recht es handelt sich hierbei 
um ein kleines Tool für ethercat ;)
Somit hat der Master 1 Port und die Busteilnehmer jeweils 2 Ports (in 
und out)

Der Aufbau hört sich gut an, aber ich würde momentan noch eine 
Softwarelösung bevorzugen, die Hardware zu organisieren ist leider nicht 
so ohne weiteres Möglich.

Ich habe mich jetzt mal an mit Hilfe von www.winpcap.org ein kleines 
Programm hierfür geschrieben (siehe Anhang), nur leider hab ich 
folgendes Problem:
Die Daten, die ich empfangen habe und wieder sende werden wieder als 
empfangene Daten interpretiert.
Also anders gesagt empfange ich Daten, wenn diese den richtigen EtherTyp 
haben, sende ich sie einfach wieder. Nur diese gesendeten Daten werden 
wieder als empfangene Daten interpretiert und so hänge ich in einer 
Schleife.

Also ich möchte nur die Daten, die von "außen" kommen wieder senden, 
nicht die Daten die der PC sendet.

Da es aber auch sein kann das ich 2 mal das gleiche Frame bekomme habe 
ich keine Ahnung wie ich die Fälle unterschieden kann.

Hat jemand eine Idee wie das Problem gelöst werden kann?

Autor: KingSize (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
sorry Anhang vergessen...

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

du ignorierst einfach einmalig das soeben gesendete Packet.

Matthias

Autor: KingSize (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Aber ich bin mir nicht sicher ob ich davon ausgehen kann, dass das erste 
Element in der Empfangs Quene das gesendete ist.

Zulässig wären auch das mehrmals die gleichen Telegramme empfangen 
werden, deswegen kann ich nicht einfach das soeben gesendete Telegramm 
ignorieren.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

versteh ich nicht. Gehen wir mal von vier Telegrammen T1 - T4 aus. Du 
empfängst T1 und sendest es als T1' wieder raus. Jetzt steht in der 
Empfangsqueue zuerst T2 dann T3(identisch zu T1) anschließend T4 und 
dann T1'. Wenn du jetzt das erste Packet das zu T1 identisch ist wieder 
verwirfst dann stimmt zwar die Reihenfolge nicht mehr aber die Anzahl 
der Pakete passt immer noch. Wenn natürlich die Reihenfolge erhalten 
werden soll funktioniert der Ansatz nicht mehr.

Matthias

Autor: Johannes S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Matthias,

Wegen des Buses ist es leider unerlässlich die Reihenfolge 
beizubehalten. Ich hätte auch die Idee gehabt die letzen gesendeten 
Telegramme in einem Ringbuffer zu sichern und das durch 2 Pointer zu 
lösen aber ich Versuch heute hat es mir leider auch die Reihenfolge 
verändert..

lg J.

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.