- Beiträge
- 9.191
- Reaktionspunkte
- 2.950
-> Hier kostenlos registrieren
Hallo,
ich habe mal etwas Zeit gefunden um ein Wireshark Plugin für das S7-Protokoll zu schreiben.
Die entsprechende s7comm.dll befindet sich im Anhang.
Diese muss ich das plugin Verzeichnis von Wireshark kopiert werden. Im Normalfall ist das
C:\Programme\Wireshark\plugins\
und dann die Versionsnummer (aktuell ist 1.0.8).
Über eine Heuristik versucht das Plugin in den Nutzdaten des überlagerten COTP (ISO 8073) Protokolls ein S7-Telegramm zu erkennen.
Das Telegramm wird dann in Header, Parameter und Data-Teil zerlegt.
Der Datenaustausch über Read-Request/Response und Write-Request/Response wird noch weiter bis hin zu den
SPS-Adressen aufgeschlüsselt. Die SPS-Adressen werden wie ein ANY-Pointer in Step 7 dargestellt (z.B. DB5.DBX0.0 BYTE 5).
Dies ist die Kommunikation die üblicherweise zwischen Visualisierung und der SPS
abläuft. Diese wird mehr oder weniger komplett aufgeschlüsselt.
Ein paar Teile konnte ich noch nicht entschlüsseln, wie:
- Header: Bytes 3,4 Reserve?
- Parameter bei "Negotioate PDU Length", Bytes 2-6
Eine große Frage stellt sich mir bei User-Data PDUs.
Da es hier eine schier unendliche Anzahl an Telegrammen zu geben scheint, habe ich es erstmal dabei
belassen nur in Header/Paramater/Data aufzusplitten.
Man könnte die bekannten Teile sicher noch in Details auflösen, aber ich weiß nicht ob das wirklich Sinn macht.
Oder es gibt dort eine Struktur die ich noch nicht erkannt habe.
Wenn jemand die Quellen haben möchte bitte PN an mich.
Mit diesen sollte sich das Plugin auch für Wireshark unter Linux erstellen lassen (kann ich leider nicht testen, ein entsprechendes makefile
ist aber enthalten).
Gruß
Thomas
ich habe mal etwas Zeit gefunden um ein Wireshark Plugin für das S7-Protokoll zu schreiben.
Die entsprechende s7comm.dll befindet sich im Anhang.
Diese muss ich das plugin Verzeichnis von Wireshark kopiert werden. Im Normalfall ist das
C:\Programme\Wireshark\plugins\
und dann die Versionsnummer (aktuell ist 1.0.8).
Über eine Heuristik versucht das Plugin in den Nutzdaten des überlagerten COTP (ISO 8073) Protokolls ein S7-Telegramm zu erkennen.
Das Telegramm wird dann in Header, Parameter und Data-Teil zerlegt.
Der Datenaustausch über Read-Request/Response und Write-Request/Response wird noch weiter bis hin zu den
SPS-Adressen aufgeschlüsselt. Die SPS-Adressen werden wie ein ANY-Pointer in Step 7 dargestellt (z.B. DB5.DBX0.0 BYTE 5).
Dies ist die Kommunikation die üblicherweise zwischen Visualisierung und der SPS
abläuft. Diese wird mehr oder weniger komplett aufgeschlüsselt.
Ein paar Teile konnte ich noch nicht entschlüsseln, wie:
- Header: Bytes 3,4 Reserve?
- Parameter bei "Negotioate PDU Length", Bytes 2-6
Eine große Frage stellt sich mir bei User-Data PDUs.
Da es hier eine schier unendliche Anzahl an Telegrammen zu geben scheint, habe ich es erstmal dabei
belassen nur in Header/Paramater/Data aufzusplitten.
Man könnte die bekannten Teile sicher noch in Details auflösen, aber ich weiß nicht ob das wirklich Sinn macht.
Oder es gibt dort eine Struktur die ich noch nicht erkannt habe.
Wenn jemand die Quellen haben möchte bitte PN an mich.
Mit diesen sollte sich das Plugin auch für Wireshark unter Linux erstellen lassen (kann ich leider nicht testen, ein entsprechendes makefile
ist aber enthalten).
Gruß
Thomas
Zuletzt bearbeitet: