Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 10 von 27 ErsteErste ... 8910111220 ... LetzteLetzte
Ergebnis 91 bis 100 von 262

Thema: Wireshark Plugin für S7-Protokoll

  1. #91
    Registriert seit
    27.11.2005
    Ort
    im Osten
    Beiträge
    1.179
    Danke
    141
    Erhielt 269 Danke für 246 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hätte da mal ne Zwischenfrage:

    Ich versuche momentan aus dem Datenverkehr zwischen einer CPU und mehreren TP's ein Schreibbefehl für ein Bit aufzuzeichnen, weil gerade dieses Bit scheinbar durch eines der TP's zur falschen Zeit gesetzt wird bzw. nicht zurückgesetzt wird und ich nicht genau sagen kann, von welchem nun es kommt.
    Ich kann ja die aufgezeichneten Telegramme genau auf dieses Bit filtern, dass klappt dank dem Plugin ganz gut.

    Jetzt ich würde es aber noch viel schöner finden wenn auch schon beim Capture nur Telegramme aufzeichnen könnte die z.B. einen Schreibauftrag in einen bestimmten DB enthalten.
    Geht das irgendwie ?
    Es ist nicht schwierig, mit noch nicht erreichten Zielen zu Leben; schwierig ist, ohne Ziele zu Leben !
    (Günther Kraftschik)

  2. #92
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.645
    Danke
    208
    Erhielt 409 Danke für 328 Beiträge

    Standard

    Zitat Zitat von MW Beitrag anzeigen
    Ich hätte da mal ne Zwischenfrage:

    Ich versuche momentan aus dem Datenverkehr zwischen einer CPU und mehreren TP's ein Schreibbefehl für ein Bit aufzuzeichnen, weil gerade dieses Bit scheinbar durch eines der TP's zur falschen Zeit gesetzt wird bzw. nicht zurückgesetzt wird und ich nicht genau sagen kann, von welchem nun es kommt.
    Ich kann ja die aufgezeichneten Telegramme genau auf dieses Bit filtern, dass klappt dank dem Plugin ganz gut.

    Jetzt ich würde es aber noch viel schöner finden wenn auch schon beim Capture nur Telegramme aufzeichnen könnte die z.B. einen Schreibauftrag in einen bestimmten DB enthalten.
    Geht das irgendwie ?
    Den gleichen filter welchen du zum anzeigen verwendest, solltest du auch für das aufzeichenen verwenden können. Einfach in den optionen des netzwerkadapters festlegen, in Wireshark
    ---------------------------------------------
    Jochen Kühner
    http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ...
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    IPhoneS7 - Inbetriebnahme Tool fürs IPhone (VarTab, Baustein-, PLC-Status)

  3. #93
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.086
    Danke
    128
    Erhielt 1.481 Danke für 1.090 Beiträge

    Standard

    Zitat Zitat von MW Beitrag anzeigen
    Jetzt ich würde es aber noch viel schöner finden wenn auch schon beim Capture nur Telegramme aufzeichnen könnte die z.B. einen Schreibauftrag in einen bestimmten DB enthalten.
    Geht das irgendwie ?
    Es gibt sog. Capture Filter die schon bei der Aufzeichnung der Daten wirken. Diese Filter haben allerdings eine andere Syntax als die Wireshark Display Filter, da diese auf die Bibliothek libpcap, welche Wireshark zum Abgreifen der Netzwerkdaten verwendet, wirken. Vor allem kennt diese Bibliothek nicht die Protokolle die Wireshark kennt.
    Darum ist leider bei der Aufzeichnung kein Filter für s7comm möglich.

    Sinnvolle Filter bei der S7 Kommunikation sind z.B. "port 102", oder um nur die Kommunikation zu oder von einer IP-Adresse zu filtern mit "host x.x.x.x".
    Dann hat man die Datenmenge bei einer Langzeitaufzeichnung schonmal erheblich reduziert.
    Dazu in den Capture Options auf das Interface welches überwacht werden soll doppelklicken, und dort unter "Capture Filter" entweder einen vorher abgespeicherten auswählen oder direkt dort eintragen.

    Man kann bei Wireshark auch diverse Aufzeichnungsoptionen einstellen, beispielsweise alle x Megabyte eine neue Datei anlegen, oder alle x Stunden. Wenn man später den ungefähren Zeitpunkt eines Fehlers kennt, kann man sich die passende Logdatei laden und dort suchen.

  4. #94
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.645
    Danke
    208
    Erhielt 409 Danke für 328 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Es gibt sog. Capture Filter die schon bei der Aufzeichnung der Daten wirken. Diese Filter haben allerdings eine andere Syntax als die Wireshark Display Filter, da diese auf die Bibliothek libpcap, welche Wireshark zum Abgreifen der Netzwerkdaten verwendet, wirken. Vor allem kennt diese Bibliothek nicht die Protokolle die Wireshark kennt.
    Darum ist leider bei der Aufzeichnung kein Filter für s7comm möglich.

    Sinnvolle Filter bei der S7 Kommunikation sind z.B. "port 102", oder um nur die Kommunikation zu oder von einer IP-Adresse zu filtern mit "host x.x.x.x".
    Dann hat man die Datenmenge bei einer Langzeitaufzeichnung schonmal erheblich reduziert.
    Dazu in den Capture Options auf das Interface welches überwacht werden soll doppelklicken, und dort unter "Capture Filter" entweder einen vorher abgespeicherten auswählen oder direkt dort eintragen.

    Man kann bei Wireshark auch diverse Aufzeichnungsoptionen einstellen, beispielsweise alle x Megabyte eine neue Datei anlegen, oder alle x Stunden. Wenn man später den ungefähren Zeitpunkt eines Fehlers kennt, kann man sich die passende Logdatei laden und dort suchen.
    Ah ok, ich dachte die Syntax wäre gleich. Hab die nie wirklich verwendet! Wieder was gelernt!
    ---------------------------------------------
    Jochen Kühner
    http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ...
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    IPhoneS7 - Inbetriebnahme Tool fürs IPhone (VarTab, Baustein-, PLC-Status)

  5. #95
    Registriert seit
    27.11.2005
    Ort
    im Osten
    Beiträge
    1.179
    Danke
    141
    Erhielt 269 Danke für 246 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Es gibt sog. Capture Filter die schon bei der Aufzeichnung der Daten wirken. Diese Filter haben allerdings eine andere Syntax als die Wireshark Display Filter, da diese auf die Bibliothek libpcap, welche Wireshark zum Abgreifen der Netzwerkdaten verwendet, wirken. Vor allem kennt diese Bibliothek nicht die Protokolle die Wireshark kennt.
    Darum ist leider bei der Aufzeichnung kein Filter für s7comm möglich.
    Ich hab das schon befürchtet, ich hatte nämlich schon einige Filterbefehle erfolglos durchprobiert, aber wenn es sowieso nicht möglich ist, war ich zumindest nicht zu blöd beim eintippen.

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Sinnvolle Filter bei der S7 Kommunikation sind z.B. "port 102", oder um nur die Kommunikation zu oder von einer IP-Adresse zu filtern mit "host x.x.x.x".
    Dann hat man die Datenmenge bei einer Langzeitaufzeichnung schonmal erheblich reduziert.
    Dazu in den Capture Options auf das Interface welches überwacht werden soll doppelklicken, und dort unter "Capture Filter" entweder einen vorher abgespeicherten auswählen oder direkt dort eintragen.
    Ich filtere beim capture schon nach dem destination host, port 102 und ether proto 0x0800. Das macht in meinem Fall in einer Stunde ein Capture von ca. 100MB.
    Leider ist wireshark übers Wochenende beim aufzeichnen abgestürzt, trotz splittung der Capturedateien auf 100MB und Ringspeicher mit 30 Dateien, mal schauen ob es morgen früh noch läuft.
    Es ist nicht schwierig, mit noch nicht erreichten Zielen zu Leben; schwierig ist, ohne Ziele zu Leben !
    (Günther Kraftschik)

  6. #96
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.086
    Danke
    128
    Erhielt 1.481 Danke für 1.090 Beiträge

    Standard

    Ich habe mal für die 72er Telegramme vom TIA-Portal einen Test-Disssector gebaut. Im Anhang die dll für die 32-Bit Wireshark Version.
    Filtern lassen sich diese Telegramme über "s7commt".

    Der grundlegende Aufbau dieser Telegramme scheint Kopf-, Daten- und Fußteil zu sein. Für Telegramme die größer als die ISO-Paketlänge sind nutzt man nicht die dort vorhandene Möglichkeit zur Fragmentierung, sondern eine eigene im TIA-S7-Protokoll. D.h. bei fragmentierten Telegrammen entfällt der Fuß-Teil.
    Was im Datenteil enthalten ist wird nicht entschlüsselt. Viele Funktionen werden aber wohl nicht binär sondern als Text, oder Text und Binärwert übermittelt.

    Ich habe hier zu Hause eine 1200er CPU. Für die 1500er habe ich nur die Aufzeichnung aus dem anderen Thread mit der Variablentabelle. Demnach scheint die Kommunikation zur 1200 und 1500 zumindest "ähnlich" zu sein.

    Die Kommunikation scheint aber auf hohe Bandbreite ausgelegt zu sein. Zumindest bei der 1200er wird beim Übertragen nur eines OB1 mit einem Netzwerk eine nicht unerhebliche Datenmenge hin- und hergeschickt. Auch wenn man eine Variablentabelle aufmacht und nur einen Wert beobachten will, wird immer gleich das ganze Programm abgeglichen.
    Angehängte Dateien Angehängte Dateien

  7. #97
    Registriert seit
    11.10.2013
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Thomas,

    Wirst du den Quellcode der aktuellen Version deines Wireshark Plugins auch Posten?
    Unter Linux kann ich die dlls leider nicht benutzen.

    Leibe Grüße
    Ober

  8. #98
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.086
    Danke
    128
    Erhielt 1.481 Danke für 1.090 Beiträge

    Standard

    Hi Ober,
    der aktuellste Stand liegt immer bei Sourceforge im SVN repository (trunk/src/s7comm).

    Kannst ja mal von deinen Erfahrungen berichten, ob und wie das unter Linux geklappt hat.
    Geändert von Thomas_v2.1 (11.10.2013 um 18:01 Uhr)

  9. #99
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.086
    Danke
    128
    Erhielt 1.481 Danke für 1.090 Beiträge

    Standard

    Als ich heute WinCC V7.2 mit einer 416 und Ethernet-CP verbunden und da etwas mitgelauscht habe, ist mir eine bisher unbekannte Adressierungsart aufgefallen.
    Die meistbenutzte Adressierung ist die über den 10 Byte langen S7-Anypointer mit Syntax Id 0x10.

    Ich habe in einem Testprojekt nur zwei Variablen gehabt, eine auf DB50.DBD0 und DB55.DBD0 adressiert. Nun hat WinCC diese Variablen anders aus der SPS gelesen, und zwar über eine Adresse mit Syntax Id 0xb0 und einer folgenden Adressangabe mit 7 Bytes Länge, also inkl. Vorkopf 9 Bytes.

    Wahrscheinlicher Aufbau:
    1: 0x12 // Varspec
    2: 0x07 // Länge
    3: 0xb0 // Sytax Id

    4: 0x01 // Size-Type???

    5: 0x04 // Anzahl

    6: 0x00 // DB-Nummer
    7: 0x37

    8: 0x00 // Offset
    9: 0x00

    Eigentlich wollte ich das an einer 300er CPU weiter erforschen, musste aber feststellen dass diese mit den Daten nichts anfangen kann. D.h. das ist etwas 400er spezifisches.
    Ich sehe das bei der WinCC Version auch das erste mal. Diese Adressierungsart spart gegenüber der anderen 3 Byte pro Datenbereich ein, bei gestückelten Datenbereichen könnte man z.B. bei einer 240er PDU 25 anstelle 19 Bereiche in einer PDU lesen.

    Hat einer eine Ahnung was das ist, bzw. wie Siemens das nennt?
    Wireshark-SyntaxId-0xb0.jpg

  10. #100
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.645
    Danke
    208
    Erhielt 409 Danke für 328 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hab im Geschäft auch noch ein paar 400er könnte noch probieren ob das bei diesen auch funzt! Vielleicht steht die Unterstützung dieser Adressierung auch wieder in einer SZL (so wie die Unterstützung der 2 versch. Statusanfragen).
    ---------------------------------------------
    Jochen Kühner
    http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ...
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    IPhoneS7 - Inbetriebnahme Tool fürs IPhone (VarTab, Baustein-, PLC-Status)

Ähnliche Themen

  1. Wireshark Auszüge von Onlinebeobachtungen
    Von Jochen Kühner im Forum Simatic
    Antworten: 40
    Letzter Beitrag: 25.01.2011, 15:44
  2. Wireshark 1.2.0 ohne AMS.ADS?
    Von Neals im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 08.07.2009, 21:29
  3. Wireshark als Sender
    Von Tapio Bearking im Forum PC- und Netzwerktechnik
    Antworten: 2
    Letzter Beitrag: 08.07.2008, 11:47
  4. AK- Protokoll
    Von borromeus im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 27.02.2007, 17:30
  5. S7-Protokoll 2
    Von Zapot im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 21.08.2006, 09:37

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •