Wireshark
5.1.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
plugins
epan
opcua
packet-opcua-pubsub.h
1
/* packet-opcua-pubsub.h
2
* Define includes, constants, and auxiliary functions for OPC UA PubSub UADP dissection.
3
*
4
* Wireshark - Network traffic analyzer
5
* By Gerald Combs <
[email protected]
>
6
* Copyright 1998 Gerald Combs
7
*
8
* OPC UA PubSub UADP Dissector
9
* Author: Leon Schmidt <
[email protected]
>
10
* Copyright (C) 2022 Codewerk GmbH
11
*
12
* SPDX-License-Identifier: GPL-2.0-or-later
13
*/
14
15
16
/* Includes */
17
#include <stdio.h>
18
19
#include <
epan/packet.h
>
20
#include <
epan/expert.h
>
21
#include <
epan/prefs.h
>
22
#include <
epan/reassemble.h
>
23
#include <epan/dissectors/packet-windows-common.h>
24
#include "
epan/proto.h
"
25
26
#include <stdbool.h>
27
#include <stdint.h>
28
#include <stddef.h>
29
30
#include "opcua_simpletypes.h"
31
#include "opcua_hfindeces.h"
32
#include "opcua_complextypeparser.h"
33
#include "opcua_enumparser.h"
34
35
36
/* Prototypes */
37
/* (Required to prevent [-Wmissing-prototypes] warnings) */
38
void
proto_reg_handoff_opcua_pubsub(
void
);
39
void
proto_register_opcua_pubsub(
void
);
40
41
42
/* default preferences */
43
#define OPCUA_PUBSUB_UDP_PORT_RANGE "4840-4850"
44
#define OPCUA_PUBSUB_ETHERTYPE 0xB62C
45
#define OPCUA_PUBSUB_DSAP 0x00
46
47
/* bitmasks for several flag fields */
48
#define OPCUA_PUBSUB_FLAGS_PID_ENABLED 0x10
49
#define OPCUA_PUBSUB_FLAGS_GROUP_HDR_ENABLED 0x20
50
#define OPCUA_PUBSUB_FLAGS_PAYLOAD_HDR_ENABLED 0x40
51
#define OPCUA_PUBSUB_FLAGS_EXT_F1_ENABLED 0x80
52
53
#define OPCUA_PUBSUB_EXT_F1_PID_TYPE 0x07
54
#define OPCUA_PUBSUB_EXT_F1_DATASET_CLASSID_ENABLED 0x08
55
#define OPCUA_PUBSUB_EXT_F1_SECURITY_ENABLED 0x10
56
#define OPCUA_PUBSUB_EXT_F1_TIMESTAMP_ENABLED 0x20
57
#define OPCUA_PUBSUB_EXT_F1_PICO_ENABLED 0x40
58
#define OPCUA_PUBSUB_EXT_F1_EXT_F2_ENABLED 0x80
59
60
#define OPCUA_PUBSUB_EXT_F2_CHUNK_ENABLED 0x01
61
#define OPCUA_PUBSUB_EXT_F2_PROMOTED_FIELDS_ENABLED 0x02
62
#define OPCUA_PUBSUB_EXT_F2_NM_TYPE 0x1C
63
64
#define OPCUA_PUBSUB_GROUP_HDR_FLAGS_WRITER_GID_ENABLED 0x01
65
#define OPCUA_PUBSUB_GROUP_HDR_FLAGS_GROUP_VERSION_ENABLED 0x02
66
#define OPCUA_PUBSUB_GROUP_HDR_FLAGS_NM_NUM_ENABLED 0x04
67
#define OPCUA_PUBSUB_GROUP_HDR_FLAGS_SEQ_NUM_ENABLED 0x08
68
69
#define OPCUA_PUBSUB_SEC_FLAGS_SIGN_ENABLED 0x01
70
#define OPCUA_PUBSUB_SEC_FLAGS_ENCRYPT_ENABLED 0x02
71
#define OPCUA_PUBSUB_SEC_FLAGS_SEC_FOOTER_ENABLED 0x04
72
#define OPCUA_PUBSUB_SEC_FLAGS_KEY_RESET 0x08
73
74
#define OPCUA_PUBSUB_DSM_F1_VALID_ENABLED 0x01
75
#define OPCUA_PUBSUB_DSM_F1_FIELD_ENC 0x06
76
#define OPCUA_PUBSUB_DSM_F1_SEQNUM_ENABLED 0x08
77
#define OPCUA_PUBSUB_DSM_F1_STATUS_ENABLED 0x10
78
#define OPCUA_PUBSUB_DSM_F1_CONF_MAJOR_VER_ENABLED 0x20
79
#define OPCUA_PUBSUB_DSM_F1_CONF_MINOR_VER_ENABLED 0x40
80
#define OPCUA_PUBSUB_DSM_F1_DSM_F2_ENABLED 0x80
81
82
#define OPCUA_PUBSUB_DSM_F2_DSM_TYPE 0x0F
83
#define OPCUA_PUBSUB_DSM_F2_TIMESTAMP_ENABLED 0x10
84
#define OPCUA_PUBSUB_DSM_F2_PICO_ENABLED 0x20
85
86
/* the various Security Policies (TODO: enum?) */
87
#define OPCUA_PUBSUB_SECURITY_POLICY_NONE 0
88
#define OPCUA_PUBSUB_SECURITY_POLICY_AES128_CTR 1
89
#define OPCUA_PUBSUB_SECURITY_POLICY_AES256_CTR 2
90
91
92
/* other macros */
93
#define DATASETFIELD_NAME_LENGTH 32
expert.h
packet.h
prefs.h
proto.h
reassemble.h
Generated by
1.15.0