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.
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 ','
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
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.