-
Notifications
You must be signed in to change notification settings - Fork 18
/
raw_messages_opcua.py
100 lines (84 loc) · 21 KB
/
raw_messages_opcua.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Unified Automations Anonymous messages
UNA_HELLO_MSG = b'HELF:\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xc0\xff?\x00\x00\x00\x00\x00\x1a\x00\x00\x00opc.tcp://127.0.0.1:48010/'
UNA_OPEN_SECURE_CHANNEL = b'OPNF\x84\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00http://opcfoundation.org/UA/SecurityPolicy#None\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\xbe\x01\x00\x00\xb0V\xaf\x8a9\xd9\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\x80\xee6\x00'
UNA_CREATE_SESSION = b'MSGFL\x01\x00\x00j@\x81i\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\x00\xcd\x01\x00\x00k\\\xce\x8a9\xd9\xd7\x01\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00A\x00\x00\x00http://industrial.softing.com/OpcUaNetToolkit/dataFEEDOpcUaClient\xff\xff\xff\xff\x02\x16\x00\x00\x00dataFEED OPC UA Client\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00-\x00\x00\x00urn:URIKATZ64A2:UnifiedAutomation:UaServerCpp\x1a\x00\x00\x00opc.tcp://127.0.0.1:48010/\x18\x00\x00\x00dataFEED OPC UA Client 1 \x00\x00\x00\xe1\xc2\xec\xd1d\xe5\xdc\xf4\xdfC\\-\x05Td\x90\xac\xc4v\xe9\x8d \xa0\xe9[\xb5\xe6\xcf\xbey|\\\xff\xff\xff\xff\x00\x00\x00\x00\x00L\xed@\x00\x00@\x00'
UNA_ACTIVATE_SESSION = b'MSGF\x83\x00\x00\x00j@\x81i\x01\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x01\x00\xd3\x01\x02\x00\x00\x0c\xdf_i\xc9\xb6\xd0\x8a9\xd9\xd7\x01\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00en-US\x01\x00A\x01\x01\x1b\x00\x00\x00\x17\x00\x00\x00Anonymous-[0]-None-None\xff\xff\xff\xff\xff\xff\xff\xff'
UNA_CLOSE_SESSION = b'\x4d\x53\x47\x46\x3f\x00\x00\x00\xd8\x1e\x62\x1e\x01\x00\x00\x00\x39\x00\x00\x00\x39\x00\x00\x00\x01\x00\xd9\x01\x02\x00\x00\x9d\x82\x45\x1e\x1c\x32\x2a\x29\x4a\xd6\xd7\x01\x36\x00\x00\x00\xff\x03\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x01'
UNA_CLOSE_CHANNEL = b'\x43\x4c\x4f\x46\x39\x00\x00\x00\xd8\x1e\x62\x1e\x01\x00\x00\x00\x3a\x00\x00\x00\x3a\x00\x00\x00\x01\x00\xc4\x01\x00\x00\x4a\x80\x2a\x29\x4a\xd6\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00'
# Softing DATAFeed Anonymous messages
SOFTING_HELLO_MSG = b'HELFS\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xc0\xff?\x00\x00\x00\x00\x003\x00\x00\x00opc.tcp://127.0.0.1:4897/Softing/dataFEEDSIS/Server'
SOFTING_OPEN_SECURE_CHANNEL = b'OPNF\x84\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00http://opcfoundation.org/UA/SecurityPolicy#None\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\xbe\x01\x00\x00\xb6+\xf9hM\xd9\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\x80\xee6\x00'
SOFTING_CREATE_SESSION = b'MSGFh\x01\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\x00\xcd\x01\x00\x00\xe2\xe9\xfdhM\xd9\xd7\x01\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00A\x00\x00\x00http://industrial.softing.com/OpcUaNetToolkit/dataFEEDOpcUaClient\xff\xff\xff\xff\x02\x16\x00\x00\x00dataFEED OPC UA Client\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x000\x00\x00\x00urn:URIKATZ64A2/Softing/dataFEED_SIS_OpcUaServer3\x00\x00\x00opc.tcp://127.0.0.1:4897/Softing/dataFEEDSIS/Server\x18\x00\x00\x00dataFEED OPC UA Client 2 \x00\x00\x00\xbd\xbbv\xc1[\xaa\xbb\xfa\x87\xe9{\x10\xda\x96\xd0\xa1\xf8\x1a<\x8e\xba\x04\x8e1\x95T\xd8v\xcad\xca\xa9\xff\xff\xff\xff\x00\x00\x00\x00\x00L\xed@\x00\x00@\x00'
SOFTING_ACTIVATE_SESSION = b'MSGF\x9c\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x01\x00\xd3\x01\x05\x00\x00 \x00\x00\x00\xab\xa4\xdb\xd8\xb2\xf19(\xa3*\xe8\x9cd1X\x8bi\xbb\x89;X\xc4C\xbeNj\xfa\x15C\xa2\xcah@0\x00\xbdP\xd9\xd7\x01\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00en-US\x01\x00A\x01\x01\x14\x00\x00\x00\x10\x00\x00\x00Anonymous_Policy\xff\xff\xff\xff\xff\xff\xff\xff'
SOFTING_CLOSE_SESSION = b'\x4d\x53\x47\x46\x5f\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x4d\x00\x00\x00\x1b\x00\x00\x00\x01\x00\xd9\x01\x05\x00\x00\x20\x00\x00\x00\xe4\x74\xb6\xb8\x79\x84\x47\xbd\x59\x7f\xea\xc0\x2f\xf8\x34\x74\x13\x20\x6c\x08\x33\x2b\xed\x21\x85\xe3\x3a\x8e\x27\x51\x6f\x97\x1c\x7a\xfa\xd5\x80\xd5\xd7\x01\x5d\x42\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10\x27\x00\x00\x00\x00\x00\x01'
SOFTING_CLOSE_CHANNEL = b'\x43\x4c\x4f\x46\x39\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x4e\x00\x00\x00\x1c\x00\x00\x00\x01\x00\xc4\x01\x00\x00\x1c\x7a\xfa\xd5\x80\xd5\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00'
# Prosys Anonymous messages
PROSYS_HELLO_MSG = b'HELFP\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x01\x88\x13\x00\x000\x00\x00\x00opc.tcp://10.10.7.3:53530/OPCUA/SimulationServer'
PROSYS_OPEN_SECURE_CHANNEL = b'OPNF\x85\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00http://opcfoundation.org/UA/SecurityPolicy#None\xff\xff\xff\xff\xff\xff\xff\xff3\x00\x00\x00\x01\x00\x00\x00\x01\x00\xbe\x01\x00\x00\x12\xbe2\x8a\xa4\xd4\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xe0\x93\x04\x00'
PROSYS_CREATE_SESSION = b"MSGF\x80\x01\x00\x00e\x04\x00\x00\x01\x00\x00\x004\x00\x00\x00\x02\x00\x00\x00\x01\x00\xcd\x01\x05\x00\x00 \x00\x00\x00\xeb\xb8\xcb\xfb\xce3\xba\xd9gn\xe9\xc9\xc3\xaf\x93!\x91\xf0c!\xb8\xcd+<\xbd\xfb\xe6\x1a\x08Z\xa8C \x07$\x8d\xa4\xd4\xd7\x01AB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10'\x00\x00\x00\x00\x00.\x00\x00\x00urn:DESKTOP-OOGRRNF:UnifiedAutomation:UaExpert\x1e\x00\x00\x00urn:UnifiedAutomation:UaExpert\x02\x1b\x00\x00\x00Unified Automation UaExpert\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff0\x00\x00\x00opc.tcp://10.10.7.3:53530/OPCUA/SimulationServer.\x00\x00\x00urn:DESKTOP-OOGRRNF:UnifiedAutomation:UaExpert \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x80O2A\x00\x00\x00\x00"
PROSYS_ACTIVATE_SESSION = b"MSGF\x95\x00\x00\x00e\x04\x00\x00\x01\x00\x00\x005\x00\x00\x00\x03\x00\x00\x00\x01\x00\xd3\x01\x05\x00\x00 \x00\x00\x00\x03;t-;\xa1\x99\xc8g!O\x8a\xfe\x87*\x0f\xa0_\xc3s\xa0\xa6\xd6\x15i)\xf1v'=\xbc\x83 \x07$\x8d\xa4\xd4\xd7\x01BB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10'\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00en-US\x01\x00A\x01\x01\r\x00\x00\x00\t\x00\x00\x00anonymous\xff\xff\xff\xff\xff\xff\xff\xff"
PROSYS_CLOSE_SESSION = b"\x4d\x53\x47\x46\x5f\x00\x00\x00\x6e\x04\x00\x00\x01\x00\x00\x00\x52\x00\x00\x00\x20\x00\x00\x00\x01\x00\xd9\x01\x05\x00\x00\x20\x00\x00\x00\x33\x4a\x3d\x55\xd3\x97\xea\x11\xdf\x9b\xe0\xe1\xf7\x4a\x69\x43\x8c\x77\xab\xff\xe5\x71\x7f\x50\xcc\x90\x84\x3e\x9a\x1d\xdc\xea\x24\xaf\x59\x81\xa6\xd4\xd7\x01\x5f\x42\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10\x27\x00\x00\x00\x00\x00\x01"
PROSYS_CLOSE_CHANNEL = b"\x43\x4c\x4f\x46\x39\x00\x00\x00\x40\x04\x00\x00\x01\x00\x00\x00\x55\x00\x00\x00\x23\x00\x00\x00\x01\x00\xc4\x01\x00\x00\xe3\xc8\xfc\xb9\x92\xd4\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00"
KEPWARE_HELLO_MSG = b'HELF;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x01\x88\x13\x00\x00\x1b\x00\x00\x00opc.tcp://10.10.6.248:49320'
KEPWARE_OPEN_SECURE_CHANNEL = b'OPNF\x85\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00http://opcfoundation.org/UA/SecurityPolicy#None\xff\xff\xff\xff\xff\xff\xff\xff3\x00\x00\x00\x01\x00\x00\x00\x01\x00\xbe\x01\x00\x00sq\xd3>Q\xd5\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x80\xee6\x00'
KEPWARE_CREATE_SESSION = b"MSGFK\x01\x00\x00\t\x94\x85>\x01\x00\x00\x004\x00\x00\x00\x02\x00\x00\x00\x01\x00\xcd\x01\x02\x00\x00\x9a\xca\xd4~sq\xd3>Q\xd5\xd7\x01AB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10'\x00\x00\x00\x00\x00.\x00\x00\x00urn:DESKTOP-OOGRRNF:UnifiedAutomation:UaExpert\x1e\x00\x00\x00urn:UnifiedAutomation:UaExpert\x02\x1b\x00\x00\x00Unified Automation UaExpert\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x1b\x00\x00\x00opc.tcp://10.10.6.248:49320.\x00\x00\x00urn:DESKTOP-OOGRRNF:UnifiedAutomation:UaExpert \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x80O2A\x00\x00\x00\x01"
KEPWARE_ACTIVATE_SESSION = b"MSGFu\x00\x00\x00\t\x94\x85>\x01\x00\x00\x005\x00\x00\x00\x03\x00\x00\x00\x01\x00\xd3\x01\x02\x00\x00d\xf3\xa8%sq\xd3>Q\xd5\xd7\x01BB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10'\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00en-US\x01\x00A\x01\x01\r\x00\x00\x00\t\x00\x00\x00Anonymous\xff\xff\xff\xff\xff\xff\xff\xff"
KEPWARE_CLOSE_SESSION = b"\x4d\x53\x47\x46\x3f\x00\x00\x00\x09\x94\x85\x3e\x01\x00\x00\x00\x4a\x00\x00\x00\x18\x00\x00\x00\x01\x00\xd9\x01\x02\x00\x00\x64\xf3\xa8\x25\xa2\xc5\xd2\x41\x51\xd5\xd7\x01\x57\x42\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10\x27\x00\x00\x00\x00\x00\x01"
KEPWARE_CLOSE_CHANNEL = b"\x43\x4c\x4f\x46\x39\x00\x00\x00\x09\x94\x85\x3e\x01\x00\x00\x00\x4b\x00\x00\x00\x19\x00\x00\x00\x01\x00\xc4\x01\x00\x00\xa2\xc5\xd2\x41\x51\xd5\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00"
TRIANGLE_HELLO_MSG = b'HELF<\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x01\x88\x13\x00\x00\x1c\x00\x00\x00opc.tcp://10.10.7.4:4885/SDG'
TRIANGLE_OPEN_SECURE_CHANNEL = b'OPNF\x85\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00http://opcfoundation.org/UA/SecurityPolicy#None\xff\xff\xff\xff\xff\xff\xff\xff3\x00\x00\x00\x01\x00\x00\x00\x01\x00\xbe\x01\x00\x00\xe3_\x91\xf0 \xd7\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xe0\x93\x04\x00'
TRIANGLE_CREATE_SESSION = b"MSGFG\x01\x00\x00\x04\x00\x00\x00\x01\x00\x00\x004\x00\x00\x00\x02\x00\x00\x00\x01\x00\xcd\x01\x00\x00\xc6\xaa\x94\xf0 \xd7\xd7\x01AB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10'\x00\x00\x00\x00\x00.\x00\x00\x00urn:DESKTOP-OOGRRNF:UnifiedAutomation:UaExpert\x1e\x00\x00\x00urn:UnifiedAutomation:UaExpert\x02\x1b\x00\x00\x00Unified Automation UaExpert\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x1c\x00\x00\x00opc.tcp://10.10.7.4:4885/SDG.\x00\x00\x00urn:DESKTOP-OOGRRNF:UnifiedAutomation:UaExpert \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00L\xdd@\x00\x00\x00\x01"
TRIANGLE_ACTIVATE_SESSION = b"MSGF\x9c\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x005\x00\x00\x00\x03\x00\x00\x00\x01\x00\xd3\x01\x05\x00\x00 \x00\x00\x00\x12h'g\xffSa>\xd3\x9dGy\xd7>d\xe7\xf9,ua\x03\xcd\x92\xf0\xbc\x14R\xe2\x89\xaf\x1c\x83\x83\x04\x97\xf0 \xd7\xd7\x01BB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10'\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00en-US\x01\x00A\x01\x01\x14\x00\x00\x00\x10\x00\x00\x00Anonymous_Policy\xff\xff\xff\xff\xff\xff\xff\xff"
TRIANGLE_CLOSE_SESSION = b"\x4d\x53\x47\x46\x5f\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x50\x00\x00\x00\x1e\x00\x00\x00\x01\x00\xd9\x01\x05\x00\x00\x20\x00\x00\x00\x12\x68\x27\x67\xff\x53\x61\x3e\xd3\x9d\x47\x79\xd7\x3e\x64\xe7\xf9\x2c\x75\x61\x03\xcd\x92\xf0\xbc\x14\x52\xe2\x89\xaf\x1c\x83\x99\xf1\xc9\xf2\x20\xd7\xd7\x01\x5d\x42\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10\x27\x00\x00\x00\x00\x00\x01"
TRIANGLE_CLOSE_CHANNEL = b"\x43\x4c\x4f\x46\x39\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x51\x00\x00\x00\x1f\x00\x00\x00\x01\x00\xc4\x01\x00\x00\x23\x03\xca\xf2\x20\xd7\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00"
DOTNET_HELLO_MSG = b'HELF[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x01\x88\x13\x00\x00;\x00\x00\x00opc.tcp://desktop-eq75855:62541/Quickstarts/ReferenceServer'
DOTNET_OPEN_SECURE_CHANNEL = b'OPNF\x85\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00http://opcfoundation.org/UA/SecurityPolicy#None\xff\xff\xff\xff\xff\xff\xff\xff3\x00\x00\x00\x01\x00\x00\x00\x01\x00\xbe\x01\x00\x00Z\xa9\x80\xf4a\xd9\xd7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xe0\x93\x04\x00'
DOTNET_CREATE_SESSION = b"MSGFf\x01\x00\x002\xb6\x0c\x00\x01\x00\x00\x004\x00\x00\x00\x02\x00\x00\x00\x01\x00\xcd\x01\x00\x00Z\xa9\x80\xf4a\xd9\xd7\x01AB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10'\x00\x00\x00\x00\x00.\x00\x00\x00urn:DESKTOP-OOGRRNF:UnifiedAutomation:UaExpert\x1e\x00\x00\x00urn:UnifiedAutomation:UaExpert\x02\x1b\x00\x00\x00Unified Automation UaExpert\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff;\x00\x00\x00opc.tcp://desktop-eq75855:62541/Quickstarts/ReferenceServer.\x00\x00\x00urn:DESKTOP-OOGRRNF:UnifiedAutomation:UaExpert \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00L\xdd@\x00\x00\x00\x01"
DOTNET_ACTIVATE_SESSION = b"MSGF\x8d\x00\x00\x002\xb6\x0c\x00\x01\x00\x00\x005\x00\x00\x00\x03\x00\x00\x00\x01\x00\xd3\x01\x05\x00\x00 \x00\x00\x00\x0bz\xe4\xac\xa2\xc5}\xf8J\x0c\xea\x11q\xe1A\xf0)q\xa5v^\xfa\xe6\xa5\xe3`\x8d\xb7\xfeN$\xc6\x10V\xb0\xf4a\xd9\xd7\x01BB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10'\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00en-US\x01\x00A\x01\x01\x05\x00\x00\x00\x01\x00\x00\x000\xff\xff\xff\xff\xff\xff\xff\xff"
IGNITION_HELLO_MSG = b'HELF:\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x01\x88\x13\x00\x00\x1a\x00\x00\x00opc.tcp://10.10.6.40:62541'
IGNITION_OPEN_SECURE_CHANNEL = b'OPNF\x85\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00http://opcfoundation.org/UA/SecurityPolicy#None\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\xbe\x01\x00\x00d\x988\\M\n\xd9\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x80\xee6\x00'
IGNITION_CREATE_SESSION = b"MSGFB\x01\x00\x00\n\x00\x00\x00\x0c\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\x00\xcd\x01\x00\x00d\x988\\M\n\xd9\x01AB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10\'\x00\x00\x00\x00\x00.\x00\x00\x00urn:DESKTOP-HN03T7J:UnifiedAutomation:UaExpert\x1e\x00\x00\x00urn:UnifiedAutomation:UaExpert\x02\x18\x00\x00\x00UaExpert@DESKTOP-HN03T7J\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x1a\x00\x00\x00opc.tcp://10.10.6.40:62541.\x00\x00\x00urn:DESKTOP-HN03T7J:UnifiedAutomation:UaExpert \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x80O2A\x00\x00\x00\x01"
IGNITION_ACTIVATE_SESSION = b"MSGF\x95\x00\x00\x00\n\x00\x00\x00\x0c\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x01\x00\xd3\x01\x05\x00\x00 \x00\x00\x00\x89\r\x17\x9f\x8c\xd9\xb0\r\x91RR\xebQ\xa2zt\xe1\xdf\xff\xb4\x7fX\x86\xb2\x04\xce\x1e\x93\x1c\xfd\x18\x90\x7f\x06a\\M\n\xd9\x01BB\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10\'\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00en-US\x01\x00A\x01\x01\r\x00\x00\x00\t\x00\x00\x00anonymous\xff\xff\xff\xff\xff\xff\xff\xff"
IGNITION_CLOSE_SESSION = b'MSGF_\x00\x00\x000\x8a\x0f\x000\x8a\x0f\x00\x05\x00\x00\x00\x05\x00\x00\x00\x01\x00\xd9\x01\x05\x00\x00 \x00\x00\x00\x0c\x94\xa3\xdf;\n\xc4>\xe0\x0e\x85\x9e}{H\x17\xab+\xd1"\x81I\xee\xf8\x87\xa9\x15\xa4\xaf\xfd\x07M\xae\xdd\x7f9\xa4\xea\xd7\x017\x00\x00\x00\xff\x03\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x01'
IGNITION_CLOSE_CHANNEL = b'CLOF9\x00\x00\x00\n\x00\x00\x00\x0c\x00\x00\x000\x00\x00\x000\x00\x00\x00\x01\x00\xc4\x01\x00\x00\xe1\x07\xe7`M\n\xd9\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00'
# S2OPC anonymous messages
S2OPC_HELLO_MSG = b'\x48\x45\x4c\x46\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x01\x88\x13\x00\x00\x18\x00\x00\x00\x6f\x70\x63\x2e\x74\x63\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x34\x38\x34\x31'
S2OPC_OPEN_SECURE_CHANNEL = b'\x4f\x50\x4e\x46\x85\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x68\x74\x74\x70\x3a\x2f\x2f\x6f\x70\x63\x66\x6f\x75\x6e\x64\x61\x74\x69\x6f\x6e\x2e\x6f\x72\x67\x2f\x55\x41\x2f\x53\x65\x63\x75\x72\x69\x74\x79\x50\x6f\x6c\x69\x63\x79\x23\x4e\x6f\x6e\x65\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x00\x00\x01\x00\x00\x00\x01\x00\xbe\x01\x00\x00\x10\xc4\xf4\x42\xc2\x90\xd9\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x80\xee\x36\x00'
S2OPC_CREATE_SESSION = b'\x4d\x53\x47\x46\x12\x01\x00\x00\x6e\x13\x02\x0c\xca\x95\x63\x71\x34\x00\x00\x00\x02\x00\x00\x00\x01\x00\xcd\x01\x02\x00\x00\xc0\xf2\xe1\x15\xf9\xd6\xf4\x42\xc2\x90\xd9\x01\x41\x42\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10\x27\x00\x00\x00\x00\x00\x13\x00\x00\x00\x75\x72\x6e\x3a\x53\x32\x4f\x50\x43\x3a\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x1e\x00\x00\x00\x75\x72\x6e\x3a\x55\x6e\x69\x66\x69\x65\x64\x41\x75\x74\x6f\x6d\x61\x74\x69\x6f\x6e\x3a\x55\x61\x45\x78\x70\x65\x72\x74\x02\x1b\x00\x00\x00\x55\x6e\x69\x66\x69\x65\x64\x20\x41\x75\x74\x6f\x6d\x61\x74\x69\x6f\x6e\x20\x55\x61\x45\x78\x70\x65\x72\x74\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x18\x00\x00\x00\x6f\x70\x63\x2e\x74\x63\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x34\x38\x34\x31\x13\x00\x00\x00\x75\x72\x6e\x3a\x53\x32\x4f\x50\x43\x3a\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x80\x4f\x32\x41\xfb\xff\x04\x00'
S2OPC_ACTIVATE_SESSION = b'\x4d\x53\x47\x46\x70\x00\x00\x00\x6e\x13\x02\x0c\xca\x95\x63\x71\x35\x00\x00\x00\x03\x00\x00\x00\x01\x00\xd3\x01\x02\x00\x00\x6e\xcd\x5f\x1b\xb8\x0d\xf5\x42\xc2\x90\xd9\x01\x42\x42\x0f\x00\x00\x00\x00\x00\xff\xff\xff\xff\x10\x27\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x65\x6e\x2d\x55\x53\x01\x00\x41\x01\x01\x08\x00\x00\x00\x04\x00\x00\x00\x61\x6e\x6f\x6e\xff\xff\xff\xff\xff\xff\xff\xff'
S2OPC_CLOSE_SESSION = b'\x4d\x53\x47\x46\x3f\x00\x00\x00\x7a\xd4\x44\xc4\x63\x64\x31\x57\x05\x00\x00\x00\x05\x00\x00\x00\x01\x00\xd9\x01\x02\x00\x00\x5f\x80\xe4\x46\xc5\x4c\xb1\x0d\xf0\x81\xda\x01\x04\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x88\x13\x00\x00\x00\x00\x00\x00'
S2OPC_CLOSE_CHANNEL = b'\x43\x4c\x4f\x46\x39\x00\x00\x00\x6e\x13\x02\x0c\xca\x95\x63\x71\x4e\x00\x00\x00\x1c\x00\x00\x00\x01\x00\xc4\x01\x00\x00\x0d\x47\x1b\x44\xc2\x90\xd9\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00'
def get_raw_open_session_messages(program_type):
if program_type == "softing":
return SOFTING_HELLO_MSG, SOFTING_OPEN_SECURE_CHANNEL, SOFTING_CREATE_SESSION, SOFTING_ACTIVATE_SESSION
elif program_type == "unified":
return UNA_HELLO_MSG, UNA_OPEN_SECURE_CHANNEL, UNA_CREATE_SESSION, UNA_ACTIVATE_SESSION
elif program_type == "prosys":
return PROSYS_HELLO_MSG, PROSYS_OPEN_SECURE_CHANNEL, PROSYS_CREATE_SESSION, PROSYS_ACTIVATE_SESSION
elif program_type == "kepware":
return KEPWARE_HELLO_MSG, KEPWARE_OPEN_SECURE_CHANNEL, KEPWARE_CREATE_SESSION, KEPWARE_ACTIVATE_SESSION
elif program_type == "triangle":
return TRIANGLE_HELLO_MSG, TRIANGLE_OPEN_SECURE_CHANNEL, TRIANGLE_CREATE_SESSION, TRIANGLE_ACTIVATE_SESSION
elif program_type == "dotnetstd":
return DOTNET_HELLO_MSG, DOTNET_OPEN_SECURE_CHANNEL, DOTNET_CREATE_SESSION, DOTNET_ACTIVATE_SESSION
elif program_type == "ignition":
return IGNITION_HELLO_MSG, IGNITION_OPEN_SECURE_CHANNEL, IGNITION_CREATE_SESSION, IGNITION_ACTIVATE_SESSION
elif program_type == "s2opc":
return S2OPC_HELLO_MSG, S2OPC_OPEN_SECURE_CHANNEL, S2OPC_CREATE_SESSION, S2OPC_ACTIVATE_SESSION
def get_raw_close_session_messages(program_type):
if program_type == "softing":
return SOFTING_CLOSE_SESSION, SOFTING_CLOSE_CHANNEL
elif program_type == "unified":
return UNA_CLOSE_SESSION, UNA_CLOSE_CHANNEL
elif program_type == "prosys":
return PROSYS_CLOSE_SESSION, PROSYS_CLOSE_CHANNEL
elif program_type == "kepware":
return KEPWARE_CLOSE_SESSION, KEPWARE_CLOSE_CHANNEL
elif program_type == "triangle":
return TRIANGLE_CLOSE_SESSION, TRIANGLE_CLOSE_CHANNEL
elif program_type == "dotnetstd":
raise NotImplementedError
elif program_type == "ignition":
return IGNITION_CLOSE_SESSION, IGNITION_CLOSE_CHANNEL
elif program_type == "s2opc":
return S2OPC_CLOSE_SESSION, S2OPC_CLOSE_CHANNEL