• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1% Scapy OPC DA layer tests
2
3+ Test Request Packet
4= OpcDaRequest
5opcdaRequestPacket_Dissect = hex_bytes(b'050000830000000000640000000000150000003c000600050000c41d0a9c0000d7028c761299f7bf00000000')
6elem1 = raw(OpcDaMessage(opcdaRequestPacket_Dissect))
7
8opcdaRequestPacket_Build = OpcDaMessage(OpcDaMessage= \
9OpcDaHeaderMessage (versionMajor=5,versionMinor=0,pduType=0, \
10    pfc_flags = 131,integerRepresentation='bigEndian',\
11    characterRepresentation='ascii',floatingPointRepresentation='ieee',\
12    res=0)/ OpcDaHeaderN(fragLength=100,authLength=0,callID=21)\
13    / OpcDaRequest(allocHint=60,contextId=6,opNum=5,\
14    uuid=b'0000c41d-0a9c-0000-d702-8c761299f7bf',stubData=RequestStubData(\
15    versionMajor=0,versionMinor=0,stubdata='')))
16elem2 = raw(opcdaRequestPacket_Build)
17
18assert  elem1 == elem2
19
20= OpcDaRequestLE
21opcdaRequestLEPacket_Dissect = hex_bytes(b'050000831000000064000000150000003c000000060005001dc400009c0a0000d7028c761299f7bf000000000000000000000000512d4e34ab431449a2cf7784b21b3ea1')
22elem1 = raw(OpcDaMessage(opcdaRequestLEPacket_Dissect))
23
24opcdaRequestLEPacket_Build = OpcDaMessage(OpcDaMessage= \
25OpcDaHeaderMessage (versionMajor=5,versionMinor=0,pduType=0, \
26    pfc_flags = 131,integerRepresentation='littleEndian',\
27    characterRepresentation='ascii',floatingPointRepresentation='ieee',\
28    res=0)/ OpcDaHeaderNLE(fragLength=100,authLength=0,callID=21)\
29    / OpcDaRequestLE (allocHint=60,contextId=6,opNum=5,\
30    uuid=b'0000c41d-0a9c-0000-d702-8c761299f7bf',\
31    stubData=RequestStubDataLE(versionMajor=0,versionMinor=0,\
32    stubdata=b'\x00\x00\x00\x00\x00\x00\x00\x00Q-N4\xabC\x14I\xa2\xcfw\x84\xb2\x1b>\xa1')))
33elem2 = raw(opcdaRequestLEPacket_Build)
34
35assert  elem1 == elem2
36
37
38+ Test Ping Packet
39= OpcDaPing
40opcdaPingPacket_Dissect = hex_bytes(b'0500010310000000640000001500000000')
41elem1 = raw(OpcDaMessage(opcdaPingPacket_Dissect))
42
43opcdaPingPacket_Build = OpcDaMessage(OpcDaMessage= \
44    OpcDaHeaderMessage (versionMajor=5,versionMinor=0,pduType=1, \
45    pfc_flags = 3,integerRepresentation='littleEndian',\
46    characterRepresentation='ascii',floatingPointRepresentation='ieee',\
47    res=0)/ OpcDaHeaderNLE(fragLength=100,authLength=0,callID=21)\
48    / OpcDaPing()) / '\x00'
49elem2 = raw(opcdaPingPacket_Build)
50
51assert  elem1 == elem2
52
53
54+ Test Response Packets
55= OpcDaResponse
56opcDaResponsePacket_Dissect = hex_bytes(b'050002030000000000d4000000000015000000bc00060000303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030')
57elem1 = raw(OpcDaMessage(opcDaResponsePacket_Dissect))
58
59opcDaResponsePacket_Build = OpcDaMessage(OpcDaMessage= \
60    OpcDaHeaderMessage (versionMajor=5,versionMinor=0,pduType=2, \
61    pfc_flags = 3,integerRepresentation='bigEndian',\
62    characterRepresentation='ascii',floatingPointRepresentation='ieee',\
63    res=0)/ OpcDaHeaderN(fragLength=212,authLength=0,callID=21)\
64    / OpcDaResponse(allocHint=188,contextId=6,cancelCount=0,reserved=0,\
65        stubData=b'0'*(212-32)))
66elem2 = raw(opcDaResponsePacket_Build)
67
68assert  elem1 == elem2
69
70= OpcDaResponseLE
71opcDaResponseLEPacket_Dissect = hex_bytes(b'0500020310000000d400000015000000bc00000006000000303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030')
72elem1 = raw(OpcDaMessage(opcDaResponseLEPacket_Dissect))
73
74opcDaResponseLEPacket_Build = OpcDaMessage(OpcDaMessage= \
75    OpcDaHeaderMessage (versionMajor=5,versionMinor=0,pduType=2, \
76    pfc_flags = 3,integerRepresentation='littleEndian',\
77    characterRepresentation='ascii',floatingPointRepresentation='ieee',\
78    res=0)/ OpcDaHeaderNLE(fragLength=212,authLength=0,callID=21)\
79    / OpcDaResponseLE(allocHint=188,contextId=6,cancelCount=0,reserved=0,\
80        stubData=b'0'*(212-32)))
81elem2 = raw(opcDaResponseLEPacket_Build)
82
83assert  elem1 == elem2
84
85# + Test Fault Packet
86# No example yet
87# OpcDaFault
88# OpcDaFaultLE
89
90# + Test Working
91# No example yet
92# OpcDaWorking
93
94# + Test No Call Packet
95# No example yet
96# OpcDaNoCall
97# OpcDaNoCallLE
98
99# + Test Reject Packet
100# No example yet
101# OpcDaReject
102# OpcDaRejectLE
103
104# + Test Ack Packet
105# No example yet
106# OpcDaAck
107
108# + Test Cl_cancel Packet
109# No example yet
110# OpcDaCl_cancel
111# OpcDaCl_cancelLE
112
113# + Test Fack Packet
114# No example yet
115# OpcDaFack
116
117# + Test Cancel ack Packet
118# No example yet
119# OpcDaCancel_ack
120# OpcDaCancel_ackLE
121
122# + Test Bind Packet
123# OpcDaBind
124# OpcDaBindLE
125
126# + Test Bind ack Packet
127# OpcDaBind_ack
128
129# + Test Bind no ack Packet
130# No example yet
131# OpcDaBind_nack
132
133
134+ Test Alter_context
135= OpcDaAlter_context
136opcDaAlter_contextPacket_Dissect = hex_bytes(b'05000e0300000000004800000000001716d016d00008294500000001070001000101000000000000c00000000000004600000000045d888aeb1cc9119fe808002b10486002000000')
137elem1 = raw(OpcDaMessage(opcDaAlter_contextPacket_Dissect))
138
139ocDaAlter_contextPacket_Build = OpcDaMessage(OpcDaMessage= \
140    OpcDaHeaderMessage (versionMajor=5,versionMinor=0,pduType=14, \
141    pfc_flags = 3,integerRepresentation='bigEndian',\
142    characterRepresentation='ascii',floatingPointRepresentation='ieee',\
143    res=0)/ OpcDaHeaderN(fragLength=72,authLength=0,callID=23)\
144    / OpcDaAlter_context(maxXmitFrag=5840,maxRecvtFrag=5840,\
145        assocGroupId=534853)) \
146    / '\x00\x00\x00\x01\x07\x00\x01\x00\x01\x01\x00\x00\x00\x00\x00\x00\xc0'\
147    '\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x04\x5d\x88\x8a\xeb\x1c\xc9'\
148    '\x11\x9f\xe8\x08\x00\x2b\x10\x48\x60\x02\x00\x00\x00'
149elem2 = raw(ocDaAlter_contextPacket_Build)
150
151= OpcDaAlter_contextLE
152opcDaAlter_contextLEPacket_Dissect = hex_bytes(b'05000e03100000004800000017000000d016d0164529080001000000070001000101000000000000c00000000000004600000000045d888aeb1cc9119fe808002b10486002000000')
153elem1 = raw(OpcDaMessage(opcDaAlter_contextLEPacket_Dissect))
154
155ocDaAlter_contextLEPacket_Build = OpcDaMessage(OpcDaMessage= \
156    OpcDaHeaderMessage (versionMajor=5,versionMinor=0,pduType=14, \
157    pfc_flags = 3,integerRepresentation='littleEndian',\
158    characterRepresentation='ascii',floatingPointRepresentation='ieee',\
159    res=0)/ OpcDaHeaderNLE(fragLength=72,authLength=0,callID=23)\
160    / OpcDaAlter_contextLE(maxXmitFrag=5840,maxRecvtFrag=5840,\
161        assocGroupId=534853)) \
162    / '\x01\x00\x00\x00\x07\x00\x01\x00\x01\x01\x00\x00\x00\x00\x00\x00\xc0'\
163    '\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x04\x5d\x88\x8a\xeb\x1c\xc9'\
164    '\x11\x9f\xe8\x08\x00\x2b\x10\x48\x60\x02\x00\x00\x00'
165elem2 = raw(ocDaAlter_contextLEPacket_Build)
166
167+ Test Alter_context_Resp
168= OpcDaAlter_Context_Resp
169= OpcDaAlter_Context_RespLE
170
171# + Test Shutdown Packet
172# No example yet
173# OpcDaShutdown
174
175# + Test Co_cancel Packet
176# No example yet
177# OpcDaCo_cancel
178# OpcDaCo_cancelLE
179
180# + Test Orphaned Packet
181# No example yet
182# OpcDaOrphaned
183