• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..29-Dec-2021-

AUTHORSH A D29-Dec-2021140 85

ChangeLogH A D29-Dec-2021636 2014

DoxyfileH A D29-Dec-202110 KiB276274

READMEH A D29-Dec-20213.6 KiB8770

opcua.cH A D29-Dec-202115.8 KiB451299

opcua_application_layer.cH A D29-Dec-20213.8 KiB11363

opcua_application_layer.hH A D29-Dec-2021753 212

opcua_complextypeparser.cH A D29-Dec-2021128.6 KiB2,2652,135

opcua_complextypeparser.hH A D29-Dec-202129.7 KiB446423

opcua_enumparser.cH A D29-Dec-202122.8 KiB675588

opcua_enumparser.hH A D29-Dec-20214.7 KiB8260

opcua_extensionobjectids.hH A D29-Dec-20219.1 KiB160140

opcua_extensionobjecttable.cH A D29-Dec-202116.7 KiB216185

opcua_hfindeces.cH A D29-Dec-202148.9 KiB631602

opcua_hfindeces.hH A D29-Dec-202111.4 KiB323299

opcua_identifiers.hH A D29-Dec-20211.6 KiB4417

opcua_security_layer.cH A D29-Dec-20212.3 KiB6122

opcua_security_layer.hH A D29-Dec-2021725 192

opcua_serviceids.hH A D29-Dec-202110.9 KiB188166

opcua_serviceparser.cH A D29-Dec-202169.2 KiB1,3181,117

opcua_serviceparser.hH A D29-Dec-202116.7 KiB274252

opcua_servicetable.cH A D29-Dec-202123.7 KiB301274

opcua_servicetable.hH A D29-Dec-2021661 181

opcua_simpletypes.cH A D29-Dec-202177 KiB1,3991,203

opcua_simpletypes.hH A D29-Dec-20216.4 KiB10680

opcua_statuscode.cH A D29-Dec-202110.9 KiB268247

opcua_statuscode.hH A D29-Dec-2021592 171

opcua_transport_layer.cH A D29-Dec-202112.7 KiB246169

opcua_transport_layer.hH A D29-Dec-20211.5 KiB2810

README

1OpcUa Plugin:
2=============
3
4This plugin implements the dissection of the OpcUa Binary Protocol.
5Authors: Gerhard Gappmeier & Hannes Mezger
6         ascolab GmbH
7         http://www.ascolab.com
8
9Overview:
10=========
11
12OpcUa (OPC Unified Architecture) is a vendor and platform independent
13protocol for automation technology. It is the successor of the
14COM/DCOM based specifications OPC DA, OPC Alarm & Events, OPC HDA, etc.
15It unifies all this technologies into a single protocol.
16
17The specification describes abstract services that are independent
18of the underlying protocol. For now there exist protocol mappings
19to a Binary TCP based protocol and a SOAP based Webservice.
20Also a hybrid version will be available where the Binary messages are transported
21by a single webservice command called "Invoke".
22
23More information about the technology you can find on
24http://www.ascolab.com/index.php?file=ua&lang=en.
25
26Protocol Mappings:
27==================
28
29Binary (TCP): The fastest and most flexible version (small footprint, no XML and SOAP necessary)
30              can easily be tunneled (SSH, IPSEC, etc.), redirected, ...
31SOAP version: Easy to implement with verious tools like .Net, JAVA, gSOAP, etc.
32              Better to communicate through firewalls via HTTP.
33SOAP with Binary Attachment: Combines the advantages of both.
34              The messages are encoded as Binary, and transported via SOAP as binary
35              attachment.
36
37The OPC Foundation offers a free Opc Ua stack implementation in ANSI C
38for all members. This stack implements the binary protocol as well
39as the SOAP version. It's easily portable to different kinds of operating
40systems from embedded devices to servers.
41This makes it easy to implement Opc Ua applications based on this stack
42and it is expected that the binary protocol will be the most used
43protocol.
44Nevertheless it's free to everbody to implement an own stack according
45to the specification. An own implementation of the SOAP version
46should be easy with the various SOAP toolkits.
47
48For more information see http://www.opcfoundation.org
49
50Known limitations:
51==================
52
53* Only the security policy http://opcfoundation.org/UA/SecurityPolicy#None is
54  supported, which means the encryption and signing is turned off.
55
56Machine-generated dissector:
57============================
58Parts of the OpcUa dissector are machine generated.  Several of the files are
59marked "DON'T MODIFY THIS FILE!" for this reason.
60
61However, the code to create this dissector is not part of the Wireshark source
62source code distribution.  This was discussed prior to the plugin's inclusion.
63From https://www.wireshark.org/lists/wireshark-dev/200704/msg00025.html :
64
65~~~
66> a lot of the code seems to be autogenerated (as the comments suggest)
67> It might make sense to include the sources and the build process instead
68> of the intermediate files (if the amount of code/tools to build the
69> files seems reasonable). The reason: When people start to hack your code
70> (e.g. to remove warnings on a compiler you don't even think about),
71> you'll might get into annoying trouble with merging code the next time
72> you've update the upcua files.
73>
74>
75I'm sorry, but I cannot give you the sources of the code generator,
76because they are owned by the OPC Foundation.
77I only extended the existing code generator to produce also wireshark code.
78It's .Net based so I guess you don't want to have it anyway ;-)
79~~~
80
81So, if changes must be made to the machine-generated files, it just means the
82upstream source will have to be modified before pushing any updates back to
83Wireshark.
84
85Of course it also means that care must be taken when applying patches from
86upstream to ensure local changes aren't reversed.
87