thepinky
Goto Top

Erläuterung serieller COM Port

Hallo Zusammen,

Ich würde gerne die Messwertübertragung besser verstehen.
Ausgangssituation: 2 PC's sind über einen seriellen COM Port mit einem Adapterkabel RS-232 auf USB verbunden.
Beim abschließen der Messung werden folgenden Daten übertragen. (siehe Bild)
serial port monitor

Die Daten wurden mit dem serial port monitor ausgelesen.
Meine Interpretation des Dump view, sind die ersten Zeichenketten Hexadezimal, gefolgt von den entsprechenden ASCII Kodierungen.

Terminal view verstehe ich nicht. Was bedeuten diese Zeichen?

Auf dem Ziel PC ist ein mit Visual Basic geschriebenes Interface Programm installiert (Quellcode vorhanden aber für mich nicht verständlich).
Jetzt zu meiner eigentlichen Frage.

Dieses Programm zeigt dann Artikelname, Messwert, Toleranzen usw. an. Wie können diese Werte aus den übertragenen werten (siehe Bild oben) kodiert werden?

Vielen Dank im voraus!

Content-Key: 6217357879

Url: https://administrator.de/contentid/6217357879

Printed on: July 19, 2024 at 09:07 o'clock

Mitglied: 2423392070
2423392070 Mar 04, 2023 at 13:35:16 (UTC)
Goto Top
Du siehst die Übersetzung des "Hex-Traffic"

Du musst rausbekommen, die du den Strom dekodierst. Ist offenkundige keine Klartext, zumindest außerhalb der Türkei.
Member: C.R.S.
C.R.S. Mar 04, 2023 at 16:28:32 (UTC)
Goto Top
Hallo,

ein einzelnes Sample als Screenshot ohne den zugehörigen Klartext aus dem ungenannten Programm zu bieten, wird auch am Wochenende den Spieltrieb der Leser nicht entfachen.
Im Allgemeinen würde ich für eine solche Übertragung numerische Werte (mit Lookup-Table für Artikelnamen), ggf. mit Prüfsummen erwarten. Die Frage, die man sich stellen müsste, wenn man nicht ohnehin den Quelltext des Dekoders hätte: Was ändert sich bei mehreren Übertragungen wie unter welchen Bedingungen?

Grüße
Richard
Member: maretz
maretz Mar 04, 2023 at 16:57:10 (UTC)
Goto Top
naja - es kommt ja drauf an was du erwartest zu sehen... Nen Hex-Dump ist nicht immer das mittel der Wahl - es kann ja auch sein das du einfach nur unsinnige Parameter eingetragen hast (Baud-Rate,... ) -> dann kommt auch nur Datenmüll raus. Da kannst du zB. Putty nehmen und einfach mal deinen COM-Port öffnen - mit verschiedenen Geschwindigkeiten. Dann solltest du zumindest sehen was da ankommt - gerne genommen sind 9600, 14400, 19200, 115200 (es gibt noch div. mehr, aber das is so was mir am meisten begegnet...)
Mitglied: 6017814589
6017814589 Mar 04, 2023 updated at 17:11:29 (UTC)
Goto Top
Quellcode vorhanden aber für mich nicht verständlich
Aber für uns wahrscheinlich nicht wenn wir ihn denn zumindest mal ansatzweise einsehen könnten. Wäre wesentlich einfacher und vor allem schneller als hier irgendeinen Datenmüll für lau analysieren zu wollen und die Glaskugel überzustrapazieren.
Member: maretz
maretz Mar 04, 2023 at 17:35:48 (UTC)
Goto Top
Zitat von @6017814589:

Quellcode vorhanden aber für mich nicht verständlich
Aber für uns wahrscheinlich nicht wenn wir ihn denn zumindest mal ansatzweise einsehen könnten. Wäre wesentlich einfacher und vor allem schneller als hier irgendeinen Datenmüll für lau analysieren zu wollen und die Glaskugel überzustrapazieren.

Nun - dann sollte man nur vorher mit dem Urheber / Eigentümer des Codes sprechen ob man den einfach veröffentlichen darf und / oder ob da irgendwelche vertraulichen Dinge drin sind... Wäre nicht das erste mal das jemand Code in nen Forum packt und plötzlich da irgendwelche Passwörter o.ä. vertraulichen Daten drin stehen..
Member: thepinky
thepinky Mar 04, 2023 at 18:21:13 (UTC)
Goto Top
Ok, schon mal danke für eure Antworten und aktivieren der Glaskugel. (-:
Dann lassen wir das Interfaceprogramm erst einmal außenvor.

Wenn ich es ganz laienhaft betrachte.... gibt es keine Möglichkeit die gelesenen Daten, in entsprechenden Klartext anzuzeigen?

Folgende Parameter sind eingestellt:
com_port
Member: maretz
maretz Mar 04, 2023 at 18:48:55 (UTC)
Goto Top
erstmal: es ist nicht zwingend 9600... und dann ist einfach nicht sicher ob du da überhaupt menschlich-lesbaren text bekommst. Man kann ja prinzipiell alles übertragen was sich irgendwie codieren lässt...
Mitglied: 6017814589
6017814589 Mar 05, 2023 updated at 06:15:34 (UTC)
Goto Top
Dann lassen wir das Interfaceprogramm erst einmal außenvor.
Dann hol dir jemanden der das für dich vor Ort macht wenn du nichts weiter vom Quellcode verraten kannst/darfst. Das ist der Weg den du gehen solltest. Reverse-Engineering ist erheblich schwieriger als sich mit dem Quellcode zu beschäftigen der ja im Klartext vorliegt wie du sagst!
Member: thepinky
thepinky Mar 05, 2023 at 11:02:02 (UTC)
Goto Top
Ist gibt doch nichts vor Ort zu machen, es funktioniert ja.

Ich möchte lediglich die Hintergründe verstehen!
Ganz einfach ausgedrückt ist es doch so:
PC eins versendet Name + Zahlenwert, an dem zweiten PC werden diese wieder angezeigt.

Warum kann ich nicht dazwischen mit einem tool wie z.B. serial port monitor die Rohdaten mir anzeigen lassen und diese ggf. als Name + Zahlenwert konvertieren?
Member: maretz
maretz Mar 05, 2023 at 11:17:30 (UTC)
Goto Top
Weil du doch gar nicht weisst WIE die Dinge übertragen werden. Wer sagt denn das die wirklich als plain-text übertragen werden? Mach es mal einfach: Nimm dir zB. Wireshark. Dann guckst du dir mal ne Telnet-Verbindung an - die ist idR. Plain-Text... Und dann guckst du dir mal ne SSH-Verbindung an - da überträgst du immernoch genauso Text, aber plötzlich erkennst du nix mehr weils eben codiert wurde.

Wer sagt also das deine Kisten da im Klartext reden?
Member: StefanKittel
StefanKittel Mar 05, 2023 at 22:15:51 (UTC)
Goto Top
Zitat von @thepinky:

Ist gibt doch nichts vor Ort zu machen, es funktioniert ja.

Ich möchte lediglich die Hintergründe verstehen!
Ganz einfach ausgedrückt ist es doch so:
PC eins versendet Name + Zahlenwert, an dem zweiten PC werden diese wieder angezeigt.

Warum kann ich nicht dazwischen mit einem tool wie z.B. serial port monitor die Rohdaten mir anzeigen lassen und diese ggf. als Name + Zahlenwert konvertieren?

Hallo,
es reicht ja wenn das Programm die Daten komprimiert um schneller Daten zu übertragen.
Vermutlich ist es ein "digitales" Format womit das Programm seine Daten im Speicher ohne Konvertierung mit einer Prüfsumme überträgt.
Das zu analysieren ist sehr aufwendig solange man keine Informationen von den Entwicklern hat.
Stefan