OPC UA Buch

Das erste OPC Unified Architecture Buch, geschrieben von Wolfgang Mahnke, Stefan-Helmut Leitner und Matthias Damm, einem der Gründer von ascolab.

OPC UA Netzwerk Protokoll Analyse

ascolab hat das weit verbreitete Netzwerkanalysetool "Wireshark" um die Protokolldekodierung für OPC UA erweitert.

Über Wireshark

Wireshark® ist das weltweit populärste Werkzeug zur Netzwerkanalyse. Es hat vielfältige und leistungsfähige Funktionen und läuft auf den meisten Computerplattformen inklusive Windows, OS X, Linux und UNIX. Professionelle Netzwerkbetreiber, Sicherheitsexperten, Entwickler und Ausbilder auf der ganzen Welt nutzen es regelmäßig. Es ist frei erhältlich als Open Source und ist veröffentlicht unter der GNU General Public License Version 2.

Wireshark war früher bekannt unter dem Namen Ethereal®. Wenn Sie derzeit noch Ethereal verwenden, empfehlen wir dringend einen Umstieg auf Wireshark.

OPC UA Plugin für Wireshark (SVN > 1.1.4 - 28168)

Der OPC UA Protokollanalyzer ist in der neuesten offiziellen Version enthalten. Die Win32 Variante des Setup finden Sie hier:

http://www.wireshark.org/download.html

Wie wird Wireshark verwendet?

Dies ist eine sehr kurze Schritt-für-Schritt Anleitung zur Demonstration, wie Wireshark verwendet wird, um das OPC UA Protokoll zu analysieren.

  • Nach dem Herunterladen installieren Sie Wireshark und folgen Sie den Anweisungen des Setups
  • Starten Sie Wireshark
  • Konfigurieren Sie die "Protocol Preferences" (fügen Sie die Ports hinzu, auf denen UA aufgezeichnet werden soll)
  • Wählen Sie die Netzwerkkarte aus und konfigurieren Sie den Aufzeichnungsfilter
  • Starten Sie die Aufzeichnung

Wenn Sie jetzt den OPC UA Server mit ihrem Client verbinden, werden alle Dienste auf dem Netzwerk aufgezeichnet. Nachdem Sie alle Aktionen ausgeführt haben, die sie aufzeichnen wollen, stoppen die die Aufzeichnung. Nun können Anzeigefilter gesetzt werden, um die angezeigten Daten zu reduzieren.

Beispiel

Zuerst werden in den Wireshark Preferences die OPC UA Ports angegeben, auf denen aufgezeichnet werden soll.
Edit -> Preferences -> Protocols -> OpcUa -> Geben Sie alle Ports an, getrennt mit Komma ','

wireshark_preferences
Angabe der Portnummern im Preferences-Dialog

Dann wird der Aufzeichnungsfilter eingestellt: "tcp" für alles, "tcp port 4841" für TCP auf einem bestimmten Port.
Capture -> Options -> Wählen Sie die zu benutzende Netzwerkkarte aus -> Geben Sie den Aufzeichnungsfilter an

wireshark_capturefilter
Einstellung der Netzwerkkarte und des Aufzeichnungsfilters im 'Capture Options'-Dialog

Das Ergebnis wird im Hauptfenster angezeigt, das in drei horizontale Abschnitte unterteilt ist. Im oberen Abschnitt werden die einzelnen Telegramme inklusive ihres Zeitstempels und ihrer Richtung (source to destination) angezeigt. Wenn eine bestimmte Nachricht selektiert wird, kann im unteren Fenster deren Inhalt aufgeblättert werden. Im Beispiel sieht man eine Antwort (response), die vom Server an den Client als Ergebnis des Aufrufs des Browse Service gesendet wurde. Der Inhalt aller Objekte kann dekodiert werden; zusätzlich wird im untersten Fensterabschnitt die Hexadezimaldarstellung des selektierten Elements angezeigt.

wireshark_result
Dekodierte Browse-Response (detaillierte Ansicht)