scapy.contrib.opc_da

Opc Data Access

Spec: Google ‘OPCDA3.00.pdf’

RPC PDU encodings: - DCE 1.1 RPC: https://pubs.opengroup.org/onlinepubs/9629399/toc.pdf - http://pubs.opengroup.org/onlinepubs/9629399/chap12.htm

DCOM Remote Protocol. [MS-DCOM]: Distributed Component Object Model (DCOM) Remote Protocol https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dcom/4a893f3d-bd29-48cd-9f43-d9777a4415b0 XXX TODO: does not appear to have been linked to RPC

NT LAN Manager (NTLM) Authentication Protocol https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/b38c36ed-2804-4868-a9ff-8dd3182128e4

class scapy.contrib.opc_da.AV_PAIR(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              AVID             |             AVLEN             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             VALUE             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. AV_PAIR                           
AV_PAIR fields

avID

ShortEnumField

2

avLen

ShortField

0

value

StrLenField

b''

class scapy.contrib.opc_da.AV_PAIRLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              AVID             |             AVLEN             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             VALUE             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. AV_PAIRLE                          
AV_PAIRLE fields

avID

ShortEnumField

2

avLen

ShortField

0

value

StrLenField

b''

class scapy.contrib.opc_da.AuthentificationProtocol(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
guess_payload_class(payload)[source]
class scapy.contrib.opc_da.ContextElement(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            CONTXTID           | NBTRANSFERSYN |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         ABSTRACTSYNTAX        |         TRANSFERSYNTAX        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ContextElement                        
ContextElement fields

contxtId

ShortField

0

nbTransferSyn

ByteField

0

reserved

ByteField

0

abstractSyntax

PacketField

None

transferSyntax

PacketListField

[]

class scapy.contrib.opc_da.ContextElementLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            CONTXTID           | NBTRANSFERSYN |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         ABSTRACTSYNTAX        |         TRANSFERSYNTAX        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ContextElementLE                       
ContextElementLE fields

contxtId

ShortField

0

nbTransferSyn

ByteField

0

reserved

ByteField

0

abstractSyntax

PacketField

None

transferSyntax

PacketListField

[]

class scapy.contrib.opc_da.DualStringArray(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          WNUMENTRIES          |        WSECURITYOFFSET        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         STRINGBINDING         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. DualStringArray                       
DualStringArray fields

wNumEntries

ShortField

0

wSecurityOffset

ShortField

0

StringBinding

StrFixedLenField

b''

class scapy.contrib.opc_da.DualStringArrayLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          WNUMENTRIES          |        WSECURITYOFFSET        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         STRINGBINDING         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. DualStringArrayLE                      
DualStringArrayLE fields

wNumEntries

ShortField

0

wSecurityOffset

ShortField

0

StringBinding

StrFixedLenField

b''

class scapy.contrib.opc_da.IRemoteSCMActivator_RemoteCreateInstance(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          VERSIONMAJOR         |          VERSIONMINOR         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              FLAG                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            RESERVED                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Fig. IRemoteSCMActivator_RemoteCreateInstance           
IRemoteSCMActivator_RemoteCreateInstance fields

versionMajor

ShortField

0

versionMinor

ShortField

0

flag

IntEnumField

1

reserved

IntField

0

guess_payload_class(payload)[source]
class scapy.contrib.opc_da.IRemoteSCMActivator_RemoteCreateInstanceLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          VERSIONMAJOR         |          VERSIONMINOR         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              FLAG                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            RESERVED                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Fig. IRemoteSCMActivator_RemoteCreateInstanceLE          
IRemoteSCMActivator_RemoteCreateInstanceLE fields

versionMajor

ShortField

0

versionMinor

ShortField

0

flag

IntEnumField

1

reserved

IntField

0

class scapy.contrib.opc_da.LenStringPacket(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             LENGTH            |              DATA             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. LenStringPacket                       
LenStringPacket fields

length

FieldLenField

0

data

MultipleTypeField (StrFixedLenField, StrLenField)

b''

class scapy.contrib.opc_da.LenStringPacketLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             LENGTH            |              DATA             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. LenStringPacketLE                      
LenStringPacketLE fields

length

FieldLenField

0

data

StrLenField

b''

class scapy.contrib.opc_da.NTLMSSP(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
deprecated_fields_desc = {'identifier': ('signature', '2.5.0')}
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           SIGNATURE           |          MESSAGETYPE          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |     LMCHALLENGERESPONSELEN    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   LMCHALLENGERESPONSEMAXLEN   |LMCHALLENGERESPONSEBUFFEROFFSET|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |     NTCHALLENGERESPONSELEN    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   NTCHALLENGERESPONSEMAXLEN   |NTCHALLENGERESPONSEBUFFEROFFSET|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |         DOMAINNAMELEN         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         DOMAINNAMEMAX         |        DOMAINNAMEOFFSET       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |          USERNAMELEN          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          USERNAMEMAX          |         USERNAMEOFFSET        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |         WORKSTATIONLEN        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       WORKSTATIONMAXLEN       |    WORKSTATIONBUFFEROFFSET    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |  ENCRYPTEDRANDOMSESSIONKEYLEN |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ENCRYPTEDRANDOMSESSIONKEYMAXLEN|ENCRYPTEDRANDOMSESSIONKEYBUFFER|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |         NEGOCIATEFLAGS        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |PRODUCTMAJORVER|PRODUCTMINORVER|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          PRODUCTBUILD         |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |NTLMREVISIONCUR|      MIC      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |      LMCHALLENGERESPONSE      |NTCHALLENGERESP|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           DOMAINNAME          |    USERNAME   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          WORKSTATION          |ENCRYPTEDRANDOM|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                           Fig. NTLMSSP                           
NTLMSSP fields

signature

StrFixedLenField

b'NTLMSSP\x00'

messageType

IntEnumField

3

lmChallengeResponseLen

ShortField

0

lmChallengeResponseMaxLen

ShortField

0

lmChallengeResponseBufferOffset

IntField

0

ntChallengeResponseLen

ShortField

0

ntChallengeResponseMaxLen

ShortField

0

ntChallengeResponseBufferOffset

IntField

0

domainNameLen

ShortField

0

domainNameMax

ShortField

0

domainNameOffset

IntField

0

userNameLen

ShortField

0

userNameMax

ShortField

0

userNameOffset

IntField

0

workstationLen

ShortField

0

workstationMaxLen

ShortField

0

workstationBufferOffset

IntField

0

encryptedRandomSessionKeyLen

ShortField

0

encryptedRandomSessionKeyMaxLen

ShortField

0

encryptedRandomSessionKeyBufferOffset

IntField

0

negociateFlags

FlagsField

<Flag 0 ()>

productMajorVersion

ByteField

0

productMinorVersion

ByteField

0

productBuild

ShortField

0

reserved

ThreeBytesField

0

NTLMRevisionCurrent

ByteField

0

MIC

StrFixedLenField

b''

lmChallengeResponse

StrLenField

b''

ntChallengeResponse

StrLenField

b''

domainName

StrLenField

b''

userName

StrLenField

b''

workstation

StrLenField

b''

encryptedRandomSessionKey

StrLenField

b''

class scapy.contrib.opc_da.NTLMSSPLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           SIGNATURE           |          MESSAGETYPE          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |     LMCHALLENGERESPONSELEN    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   LMCHALLENGERESPONSEMAXLEN   |LMCHALLENGERESPONSEBUFFEROFFSET|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |     NTCHALLENGERESPONSELEN    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   NTCHALLENGERESPONSEMAXLEN   |NTCHALLENGERESPONSEBUFFEROFFSET|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |         DOMAINNAMELEN         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         DOMAINNAMEMAX         |        DOMAINNAMEOFFSET       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |          USERNAMELEN          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          USERNAMEMAX          |         USERNAMEOFFSET        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |         WORKSTATIONLEN        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       WORKSTATIONMAXLEN       |    WORKSTATIONBUFFEROFFSET    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |  ENCRYPTEDRANDOMSESSIONKEYLEN |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ENCRYPTEDRANDOMSESSIONKEYMAXLEN|ENCRYPTEDRANDOMSESSIONKEYBUFFER|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |         NEGOCIATEFLAGS        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |PRODUCTMAJORVER|PRODUCTMINORVER|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          PRODUCTBUILD         |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |NTLMREVISIONCUR|      MIC      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |      LMCHALLENGERESPONSE      |NTCHALLENGERESP|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           DOMAINNAME          |    USERNAME   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          WORKSTATION          |ENCRYPTEDRANDOM|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                          Fig. NTLMSSPLE                          
NTLMSSPLE fields

signature

StrFixedLenField

b'NTLMSSP\x00'

messageType

IntEnumField

3

lmChallengeResponseLen

ShortField

0

lmChallengeResponseMaxLen

ShortField

0

lmChallengeResponseBufferOffset

IntField

0

ntChallengeResponseLen

ShortField

0

ntChallengeResponseMaxLen

ShortField

0

ntChallengeResponseBufferOffset

IntField

0

domainNameLen

ShortField

0

domainNameMax

ShortField

0

domainNameOffset

IntField

0

userNameLen

ShortField

0

userNameMax

ShortField

0

userNameOffset

IntField

0

workstationLen

ShortField

0

workstationMaxLen

ShortField

0

workstationBufferOffset

IntField

0

encryptedRandomSessionKeyLen

ShortField

0

encryptedRandomSessionKeyMaxLen

ShortField

0

encryptedRandomSessionKeyBufferOffset

IntField

0

negociateFlags

FlagsField

<Flag 0 ()>

productMajorVersion

ByteField

0

productMinorVersion

ByteField

0

productBuild

ShortField

0

reserved

ThreeBytesField

0

NTLMRevisionCurrent

ByteField

0

MIC

StrFixedLenField

b''

lmChallengeResponse

StrLenField

b''

ntChallengeResponse

StrLenField

b''

domainName

StrLenField

b''

userName

StrLenField

b''

workstation

StrLenField

b''

encryptedRandomSessionKey

StrLenField

b''

class scapy.contrib.opc_da.OBJREF_CUSTOM(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             CLSID                             |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          CBEXTENSION                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            RESERVED                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OBJREF_CUSTOM                        
OBJREF_CUSTOM fields

clsid

UUIDField

UUID('00010001-0001-0001-0001-000100010001')

cbExtension

IntField

0

reserved

IntField

0

class scapy.contrib.opc_da.OBJREF_CUSTOMLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             CLSID                             |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          CBEXTENSION                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            RESERVED                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OBJREF_CUSTOMLE                       
OBJREF_CUSTOMLE fields

clsid

UUIDField

UUID('00010001-0001-0001-0001-000100010001')

cbExtension

IntField

0

reserved

IntField

0

class scapy.contrib.opc_da.OBJREF_EXTENDED(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
class scapy.contrib.opc_da.OBJREF_EXTENDEDLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
class scapy.contrib.opc_da.OBJREF_HANDLER(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              STD              |             CLSID             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           SARESADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OBJREF_HANDLER                        
OBJREF_HANDLER fields

std

PacketField

None

clsid

UUIDField

UUID('00010001-0001-0001-0001-000100010001')

saResAddr

PacketField

None

class scapy.contrib.opc_da.OBJREF_HANDLERLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              STD              |             CLSID             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           SARESADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. OBJREF_HANDLERLE                       
OBJREF_HANDLERLE fields

std

PacketField

None

clsid

UUIDField

UUID('00010001-0001-0001-0001-000100010001')

saResAddr

PacketField

None

class scapy.contrib.opc_da.OBJREF_STANDARD(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              STD              |           SARESADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OBJREF_STANDARD                       
OBJREF_STANDARD fields

std

PacketField

None

saResAddr

PacketField

None

class scapy.contrib.opc_da.OBJREF_STANDARDLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              STD              |           SARESADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. OBJREF_STANDARDLE                      
OBJREF_STANDARDLE fields

std

PacketField

None

saResAddr

PacketField

None

class scapy.contrib.opc_da.OPCHandle(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
class scapy.contrib.opc_da.OpcDaAck(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
class scapy.contrib.opc_da.OpcDaAlter_Context_Resp(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAXXMITFRAG          |          MAXRECVTFRAG         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ASSOCGROUPID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            PORTSPEC           |              PAD2             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           RESULTLIST          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Fig. OpcDaAlter_Context_Resp                   
OpcDaAlter_Context_Resp fields

maxXmitFrag

ShortField

5840

maxRecvtFrag

ShortField

5840

assocGroupId

IntField

0

portSpec

PacketField

b'\x00\x00\x00\x00'

pad2

IntField

0

resultList

PacketField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaAlter_Context_RespLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAXXMITFRAG          |          MAXRECVTFRAG         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ASSOCGROUPID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            PORTSPEC           |              PAD2             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           RESULTLIST          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. OpcDaAlter_Context_RespLE                  
OpcDaAlter_Context_RespLE fields

maxXmitFrag

ShortField

5840

maxRecvtFrag

ShortField

5840

assocGroupId

IntField

0

portSpec

PacketField

b'\x00\x00\x00\x00'

pad2

IntField

0

resultList

PacketField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaAlter_context(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAXXMITFRAG          |          MAXRECVTFRAG         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ASSOCGROUPID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. OpcDaAlter_context                      
OpcDaAlter_context fields

maxXmitFrag

ShortField

5840

maxRecvtFrag

ShortField

5840

assocGroupId

IntField

0

class scapy.contrib.opc_da.OpcDaAlter_contextLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAXXMITFRAG          |          MAXRECVTFRAG         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ASSOCGROUPID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Fig. OpcDaAlter_contextLE                     
OpcDaAlter_contextLE fields

maxXmitFrag

ShortField

5840

maxRecvtFrag

ShortField

5840

assocGroupId

IntField

0

class scapy.contrib.opc_da.OpcDaAuth3(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             CODE?             |             CODE2?            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    AUTHTYPE   |   AUTHLEVEL   |   AUTHPADLEN  |  AUTHRESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         AUTHCONTEXTID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. OpcDaAuth3                          
OpcDaAuth3 fields

code?

ShortField

5840

code2?

ShortField

5840

authType

ByteField

10

authLevel

ByteField

2

authPadLen

ByteField

0

authReserved

ByteField

0

authContextId

IntField

0

guess_payload_class(payload)[source]
class scapy.contrib.opc_da.OpcDaAuth3LE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             CODE?             |             CODE2?            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    AUTHTYPE   |   AUTHLEVEL   |   AUTHPADLEN  |  AUTHRESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         AUTHCONTEXTID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OpcDaAuth3LE                         
OpcDaAuth3LE fields

code?

ShortField

5840

code2?

ShortField

5840

authType

ByteField

10

authLevel

ByteField

2

authPadLen

ByteField

0

authReserved

ByteField

0

authContextId

IntField

0

class scapy.contrib.opc_da.OpcDaBind(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAXXMITFRAG          |          MAXRECVTFRAG         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ASSOCGROUPID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|NBCONTEXTELEMEN|    RESERVED   |           RESERVED2           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          CONTEXTITEM          |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. OpcDaBind                          
OpcDaBind fields

maxXmitFrag

ShortField

5840

maxRecvtFrag

ShortField

5840

assocGroupId

IntField

0

nbContextElement

ByteField

1

reserved

ByteField

0

reserved2

ShortField

0

contextItem

PacketListField

[]

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaBindLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAXXMITFRAG          |          MAXRECVTFRAG         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ASSOCGROUPID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|NBCONTEXTELEMEN|    RESERVED   |           RESERVED2           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          CONTEXTITEM          |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. OpcDaBindLE                         
OpcDaBindLE fields

maxXmitFrag

ShortField

5840

maxRecvtFrag

ShortField

5840

assocGroupId

IntField

0

nbContextElement

ByteField

1

reserved

ByteField

0

reserved2

ShortField

0

contextItem

PacketListField

[]

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaBind_ack(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAXXMITFRAG          |          MAXRECVTFRAG         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ASSOCGROUPID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            PORTSPEC           |              PAD2             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           RESULTLIST          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OpcDaBind_ack                        
OpcDaBind_ack fields

maxXmitFrag

ShortField

5840

maxRecvtFrag

ShortField

5840

assocGroupId

IntField

0

portSpec

PacketField

b'\x00\x00\x00\x00'

pad2

IntField

0

resultList

PacketField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaBind_ackLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAXXMITFRAG          |          MAXRECVTFRAG         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ASSOCGROUPID                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            PORTSPEC           |              PAD2             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           RESULTLIST          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OpcDaBind_ackLE                       
OpcDaBind_ackLE fields

maxXmitFrag

ShortField

5840

maxRecvtFrag

ShortField

5840

assocGroupId

IntField

0

portSpec

PacketField

b'\x00\x00\x00\x00'

pad2

IntField

0

resultList

PacketField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaBind_nak(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      PROVIDERREJECTREASON     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OpcDaBind_nak                        
OpcDaBind_nak fields

providerRejectReason

ShortEnumField

0

class scapy.contrib.opc_da.OpcDaBind_nakLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      PROVIDERREJECTREASON     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OpcDaBind_nakLE                       
OpcDaBind_nakLE fields

providerRejectReason

ShortEnumField

0

class scapy.contrib.opc_da.OpcDaCancel_ack(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            VERSION                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            CANCELID                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   ACCEPTING   |
+-+-+-+-+-+-+-+-+

                       Fig. OpcDaCancel_ack                       
OpcDaCancel_ack fields

version

IntField

0

cancelId

IntField

0

accepting

ByteField

1

class scapy.contrib.opc_da.OpcDaCancel_ackLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            VERSION                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            CANCELID                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   ACCEPTING   |
+-+-+-+-+-+-+-+-+

                      Fig. OpcDaCancel_ackLE                      
OpcDaCancel_ackLE fields

version

IntField

0

cancelId

IntField

0

accepting

ByteField

1

class scapy.contrib.opc_da.OpcDaCl_cancel(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUTHENTICATION        |            VERSION            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |            CANCELID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OpcDaCl_cancel                        
OpcDaCl_cancel fields

authentication

PacketField

None

version

IntField

0

cancelId

IntField

0

class scapy.contrib.opc_da.OpcDaCl_cancelLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUTHENTICATION        |            VERSION            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |            CANCELID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. OpcDaCl_cancelLE                       
OpcDaCl_cancelLE fields

authentication

PacketField

None

version

IntField

0

cancelId

IntField

0

class scapy.contrib.opc_da.OpcDaCo_cancel(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUTHENTICATION        |            VERSION            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |            CANCELID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OpcDaCo_cancel                        
OpcDaCo_cancel fields

authentication

PacketField

None

version

IntField

0

cancelId

IntField

0

class scapy.contrib.opc_da.OpcDaCo_cancelLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUTHENTICATION        |            VERSION            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |            CANCELID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. OpcDaCo_cancelLE                       
OpcDaCo_cancelLE fields

authentication

PacketField

None

version

IntField

0

cancelId

IntField

0

class scapy.contrib.opc_da.OpcDaFack(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            VERSION            |      PAD      |   WINDOWSIZE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                    MAXTSDU                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                  MAXFRAGSIZE                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           SERIALNUM           |   SELACKLEN   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |             SELACK            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. OpcDaFack                          
OpcDaFack fields

version

ShortField

0

pad

ByteField

0

windowSize

ShortField

0

maxTsdu

IntField

0

maxFragSize

IntField

0

serialNum

ShortField

0

selackLen

FieldLenField

0

selack

PacketListField

[]

class scapy.contrib.opc_da.OpcDaFackLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            VERSION            |      PAD      |   WINDOWSIZE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                    MAXTSDU                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                  MAXFRAGSIZE                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           SERIALNUM           |   SELACKLEN   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |             SELACK            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. OpcDaFackLE                         
OpcDaFackLE fields

version

ShortField

0

pad

ByteField

0

windowSize

ShortField

0

maxTsdu

IntField

0

maxFragSize

IntField

0

serialNum

ShortField

0

selackLen

FieldLenField

0

selack

PacketListField

[]

class scapy.contrib.opc_da.OpcDaFault(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           ALLOCHINT                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           CONTEXTID           |  CANCELCOUNT  |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             GROUP                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           RESERVED2                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. OpcDaFault                          
OpcDaFault fields

allocHint

IntField

0

contextId

ShortField

0

cancelCount

ByteField

0

reserved

ByteField

0

Group

IntEnumField

0

reserved2

IntField

0

stubData

StrLenField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaFaultLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           ALLOCHINT                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           CONTEXTID           |  CANCELCOUNT  |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             GROUP                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           RESERVED2                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OpcDaFaultLE                         
OpcDaFaultLE fields

allocHint

IntField

0

contextId

ShortField

0

cancelCount

ByteField

0

reserved

ByteField

0

Group

IntEnumField

0

reserved2

IntField

0

stubData

StrLenField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaHeaderMessage(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
deprecated_fields = {'pdu_type': ('pduType', '2.5.0')}
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  VERSIONMAJOR |  VERSIONMINOR |    PDUTYPE    |   PFC FLAGS   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|INTEGER|CHARACT|FLOATINGPOINTRE|              RES              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. OpcDaHeaderMessage                      
OpcDaHeaderMessage fields

versionMajor

ByteField

0

versionMinor

ByteField

0

pduType

ByteEnumField

0

pfc_flags

FlagsField

<Flag 0 ()>

integerRepresentation

BitEnumField

1

characterRepresentation

BitEnumField

0

floatingPointRepresentation

ByteEnumField

0

res

ShortField

0

guess_payload_class(payload)[source]
class scapy.contrib.opc_da.OpcDaHeaderN(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           FRAGLENGTH          |           AUTHLENGTH          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             CALLID                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OpcDaHeaderN                         
OpcDaHeaderN fields

fragLength

ShortField

0

authLength

ShortEnumField

0

callID

IntField

0

guess_payload_class(payload)[source]
class scapy.contrib.opc_da.OpcDaHeaderNLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           FRAGLENGTH          |           AUTHLENGTH          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             CALLID                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OpcDaHeaderNLE                        
OpcDaHeaderNLE fields

fragLength

ShortField

0

authLength

ShortEnumField

0

callID

IntField

0

class scapy.contrib.opc_da.OpcDaMessage(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          OPCDAMESSAGE         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OpcDaMessage                         
OpcDaMessage fields

OpcDaMessage

PacketField

None

class scapy.contrib.opc_da.OpcDaNoCall(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
class scapy.contrib.opc_da.OpcDaNoCallLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
class scapy.contrib.opc_da.OpcDaOrphaned(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
class scapy.contrib.opc_da.OpcDaPing(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
class scapy.contrib.opc_da.OpcDaReject(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           ALLOCHINT                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           CONTEXTID           |  CANCELCOUNT  |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             GROUP                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. OpcDaReject                         
OpcDaReject fields

allocHint

IntField

0

contextId

ShortField

0

cancelCount

ByteField

0

reserved

ByteField

0

Group

IntEnumField

0

stubData

StrLenField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaRejectLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           ALLOCHINT                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           CONTEXTID           |  CANCELCOUNT  |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             GROUP                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OpcDaRejectLE                        
OpcDaRejectLE fields

allocHint

IntField

0

contextId

ShortField

0

cancelCount

ByteField

0

reserved

ByteField

0

Group

IntEnumField

0

stubData

StrLenField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaRequest(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           ALLOCHINT                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           CONTEXTID           |             OPNUM             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              UUID                             |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OpcDaRequest                         
OpcDaRequest fields

allocHint

IntField

0

contextId

ShortField

0

opNum

ShortField

0

uuid

UUIDField (Cond)

UUID('00010001-0001-0001-0001-000100010001')

stubData

PacketLenField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaRequestLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           ALLOCHINT                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           CONTEXTID           |             OPNUM             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              UUID                             |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OpcDaRequestLE                        
OpcDaRequestLE fields

allocHint

IntField

0

contextId

ShortField

0

opNum

ShortField

0

uuid

UUIDField

UUID('00010001-0001-0001-0001-000100010001')

stubData

PacketLenField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaResponse(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           ALLOCHINT                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           CONTEXTID           |  CANCELCOUNT  |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OpcDaResponse                        
OpcDaResponse fields

allocHint

IntField

0

contextId

ShortField

0

cancelCount

ByteField

0

reserved

ByteField

0

stubData

StrLenField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaResponseLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           ALLOCHINT                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           CONTEXTID           |  CANCELCOUNT  |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |         AUTHENTICATION        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OpcDaResponseLE                       
OpcDaResponseLE fields

allocHint

IntField

0

contextId

ShortField

0

cancelCount

ByteField

0

reserved

ByteField

0

stubData

StrLenField

None

authentication

PacketField

None

class scapy.contrib.opc_da.OpcDaShutdown(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
class scapy.contrib.opc_da.OpcDaWorking(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
class scapy.contrib.opc_da.OsfDcePrivateKeyAuthentification(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
class scapy.contrib.opc_da.RequestStubData(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          VERSIONMAJOR         |          VERSIONMINOR         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. RequestStubData                       
RequestStubData fields

versionMajor

ShortField

0

versionMinor

ShortField

0

stubdata

StrField

b''

class scapy.contrib.opc_da.RequestStubDataLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          VERSIONMAJOR         |          VERSIONMINOR         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            STUBDATA           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. RequestStubDataLE                      
RequestStubDataLE fields

versionMajor

ShortField

0

versionMinor

ShortField

0

stubdata

StrField

b''

class scapy.contrib.opc_da.ResultElement(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    RESULTCONTEXTNEGOTIATION   |             REASON            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         TRANSFERSYNTAX        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. ResultElement                        
ResultElement fields

resultContextNegotiation

ShortEnumField

0

reason

ShortEnumField (Cond)

0

transferSyntax

PacketField

b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

class scapy.contrib.opc_da.ResultElementLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    RESULTCONTEXTNEGOTIATION   |             REASON            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         TRANSFERSYNTAX        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ResultElementLE                       
ResultElementLE fields

resultContextNegotiation

ShortEnumField

0

reason

ShortEnumField

0

transferSyntax

PacketField

b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

class scapy.contrib.opc_da.ResultList(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    NBRESULT   |    RESERVED   |           RESERVED2           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           RESULTLIST          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. ResultList                          
ResultList fields

nbResult

ByteField

0

reserved

ByteField

0

reserved2

ShortField

0

resultList

PacketListField

[]

class scapy.contrib.opc_da.ResultListLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    NBRESULT   |    RESERVED   |           RESERVED2           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           RESULTLIST          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. ResultListLE                         
ResultListLE fields

nbResult

ByteField

0

reserved

ByteField

0

reserved2

ShortField

0

resultList

PacketListField

[]

class scapy.contrib.opc_da.STDOBJREF(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             FLAGS                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          CPUBLICREFS                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              OXID                             |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              OID                              |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              IPID             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. STDOBJREF                          
STDOBJREF fields

flags

LEIntEnumField

1

cPublicRefs

LEIntField

0

OXID

LELongField

0

OID

LELongField

0

IPID

PacketField

None

class scapy.contrib.opc_da.StringBinding(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            WTOWERID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. StringBinding                        
StringBinding fields

wTowerId

LEShortField

0

class scapy.contrib.opc_da.SyntaxId(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
extract_padding(p)[source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         INTERFACEUUID                         |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          VERSIONMAJOR         |          VERSIONMINOR         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. SyntaxId                           
SyntaxId fields

interfaceUUID

UUIDField

UUID('00010001-0001-0001-0001-000100010001')

versionMajor

ShortField

0

versionMinor

ShortField

0

class scapy.contrib.opc_da.SyntaxIdLE(*args, **kargs)[source]

Bases: scapy.base_classes.Gen[scapy.packet.Packet]

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         INTERFACEUUID                         |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          VERSIONMAJOR         |          VERSIONMINOR         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. SyntaxIdLE                          
SyntaxIdLE fields

interfaceUUID

UUIDField

UUID('00010001-0001-0001-0001-000100010001')

versionMajor

ShortField

0

versionMinor

ShortField

0