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