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!
Du musst doch nix zurücksenden, damit du mit Wireshark mitprotokollieren kannst. Versteh dein Problem nicht ... Sich Fragender
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
Vielleicht kommst du hiermit weiter: http://ettercap.sourceforge.net/ Ansonsten wohl selber schreiben ...
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 :)
Hi selber schreiben. Mit http://www.winpcap.org/ und den mitgelieferten Beispielprogrammen ist das eine Sache von 20 Minuten. Matthias
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.
Haben die Busteilnehmer ein oder 2 Netzwerkports? Hört sich interresannt an. Geht das in richtung ethercat?
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 du ignorierst einfach einmalig das soeben gesendete Packet. Matthias
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.
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.