scapy.layers.dcerpc
DCE/RPC Distributed Computing Environment / Remote Procedure Calls
Based on [C706] - aka DCE/RPC 1.1 https://pubs.opengroup.org/onlinepubs/9629399/toc.pdf
And on [MS-RPCE] https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15
Note
Please read the documentation over DCE/RPC
- class scapy.layers.dcerpc.CommonAuthVerifier(_pkt, /, *, auth_type=0, auth_level=0, auth_pad_length=None, auth_reserved=0, auth_context_id=0, auth_value=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTH TYPE | AUTH LEVEL |AUTH PAD LENGTH| AUTH RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTH CONTEXT ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTH VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. CommonAuthVerifierCommonAuthVerifier fields auth_type
0auth_level
0auth_pad_length
Noneauth_reserved
0auth_context_id
0auth_value
MultipleTypeField(PacketLenField, PacketLenField, PacketLenField, PacketLenField, PacketLenField, PacketLenField, PacketLenField, PacketLenField, PacketLenField)None
- class scapy.layers.dcerpc.DCERPC_Transport(*values)[source]
Bases:
IntEnumProtocols identifiers currently supported by Scapy
- NCACN_IP_TCP = 7
- NCACN_NP = 15
- scapy.layers.dcerpc.DCE_C_AUTHN_LEVEL[source]
alias of
RPC_C_AUTHN_LEVEL
- class scapy.layers.dcerpc.DceRpc4(_pkt, /, *, rpc_vers=4, ptype=0, flags1=<Flag 0 ()>, flags2=<Flag 0 ()>, endian=1, encoding=0, float=0, reserved1=0, serial_hi=0, object=None, if_id=None, act_id=None, server_boot=0, if_vers=1, seqnum=0, opnum=0, ihint=65535, ahint=65535, len=None, fragnum=0, auth_proto=0, serial_lo=0)[source]
Bases:
DceRpcDCE/RPC v4 ‘connection-less’ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RPC VERS | PTYPE | FLAGS1 | FLAGS2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ENDIAN|ENCODIN| FLOAT | RESERVED1 | SERIAL HI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OBJECT | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IF ID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ACT ID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SERVER BOOT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IF VERS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEQNUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPNUM | IHINT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AHINT | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FRAGNUM | AUTH PROTO | SERIAL LO | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc4DceRpc4 fields rpc_vers
4ptype
0flags1
<Flag 0 ()>flags2
<Flag 0 ()>endian
1encoding
0float
0reserved1
0serial_hi
0object
_EFieldNoneif_id
_EFieldNoneact_id
_EFieldNoneserver_boot
_EField0if_vers
_EField1seqnum
_EField0opnum
_EField0ihint
_EField65535ahint
_EField65535len
_EFieldNonefragnum
_EField0auth_proto
0serial_lo
0
- payload_guess
Possible sublayers:
DceRpc4Payload
- class scapy.layers.dcerpc.DceRpc4Payload(_pkt, /)[source]
Bases:
PacketDummy class which use the dispatch_hook to find the payload class
- aliastypes
- class scapy.layers.dcerpc.DceRpc5(_pkt, /, *, rpc_vers=5, rpc_vers_minor=0, ptype=0, pfc_flags=None, endian=1, encoding=0, float=0, reserved1=0, reserved2=0, frag_len=None, auth_len=None, call_id=None, auth_verifier=None, auth_padding=None, vt_trailer=None)[source]
Bases:
DceRpcDCE/RPC v5 ‘connection-oriented’ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RPC VERS | RPC VERS MINOR| PTYPE | PFC FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ENDIAN|ENCODIN| FLOAT | RESERVED1 | RESERVED2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FRAG LEN | AUTH LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CALL ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTH VERIFIER | AUTH PADDING | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VT TRAILER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5DceRpc5 fields rpc_vers
5rpc_vers_minor
0ptype
0pfc_flags
MultipleTypeField(FlagsField, FlagsField)<Flag 3 (PFC_FIRST_FRAG+PFC_LAST_FRAG)>endian
1encoding
0float
0reserved1
0reserved2
0frag_len
_EFieldNoneauth_len
_EFieldNonecall_id
_EFieldNoneauth_verifier
TrailerField(Cond)Noneauth_padding
TrailerField(Cond)Nonevt_trailer
None
- payload_guess
Possible sublayers:
DceRpc5AlterContextResp,DceRpc5AlterContext,DceRpc5Auth3,DceRpc5BindAck,DceRpc5BindNak,DceRpc5Bind,DceRpc5Fault,DceRpc5Request,DceRpc5Response
- class scapy.layers.dcerpc.DceRpc5AbstractSyntax(_pkt, /, *, if_uuid=None, if_version=3)[source]
Bases:
EPacket- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IF UUID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IF VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5AbstractSyntaxDceRpc5AbstractSyntax fields if_uuid
_EFieldNoneif_version
_EField3
- class scapy.layers.dcerpc.DceRpc5AlterContext(_pkt, /, *, max_xmit_frag=5840, max_recv_frag=8192, assoc_group_id=0, n_context_elem=None, reserved=0, context_elem=[])[source]
Bases:
_DceRpcPayload- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX XMIT FRAG | MAX RECV FRAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ASSOC GROUP ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | N CONTEXT ELEM| RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONTEXT ELEM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5AlterContextDceRpc5AlterContext fields max_xmit_frag
_EField5840max_recv_frag
_EField8192assoc_group_id
_EField0n_context_elem
_EFieldNonereserved
0context_elem
[]
- class scapy.layers.dcerpc.DceRpc5AlterContextResp(_pkt, /, *, max_xmit_frag=5840, max_recv_frag=8192, assoc_group_id=0, sec_addr=None, n_results=None, reserved=0, results=[])[source]
Bases:
_DceRpcPayload- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX XMIT FRAG | MAX RECV FRAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ASSOC GROUP ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEC ADDR | padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | N RESULTS | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5AlterContextRespDceRpc5AlterContextResp fields max_xmit_frag
_EField5840max_recv_frag
_EField8192assoc_group_id
_EField0sec_addr
Nonen_results
_EFieldNonereserved
0results
[]
- class scapy.layers.dcerpc.DceRpc5Auth3(_pkt, /, *, pad=b'')[source]
Bases:
Packet- aliastypes
- class scapy.layers.dcerpc.DceRpc5Bind(_pkt, /, *, max_xmit_frag=5840, max_recv_frag=8192, assoc_group_id=0, n_context_elem=None, reserved=0, context_elem=[])[source]
Bases:
_DceRpcPayload- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX XMIT FRAG | MAX RECV FRAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ASSOC GROUP ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | N CONTEXT ELEM| RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONTEXT ELEM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5BindDceRpc5Bind fields max_xmit_frag
_EField5840max_recv_frag
_EField8192assoc_group_id
_EField0n_context_elem
_EFieldNonereserved
0context_elem
[]
- class scapy.layers.dcerpc.DceRpc5BindAck(_pkt, /, *, max_xmit_frag=5840, max_recv_frag=8192, assoc_group_id=0, sec_addr=None, n_results=None, reserved=0, results=[])[source]
Bases:
_DceRpcPayload- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX XMIT FRAG | MAX RECV FRAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ASSOC GROUP ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEC ADDR | padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | N RESULTS | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5BindAckDceRpc5BindAck fields max_xmit_frag
_EField5840max_recv_frag
_EField8192assoc_group_id
_EField0sec_addr
Nonen_results
_EFieldNonereserved
0results
[]
- class scapy.layers.dcerpc.DceRpc5BindNak(_pkt, /, *, provider_reject_reason=0, n_protocols=None, protocols=[], signature=None)[source]
Bases:
_DceRpcPayload- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROVIDER REJECT REASON | N PROTOCOLS | PROTOCOLS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SIGNATURE | +-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DceRpc5BindNakDceRpc5BindNak fields provider_reject_reason
_EField0n_protocols
_EFieldNoneprotocols
[]signature
ReversePadField(Cond)None
- class scapy.layers.dcerpc.DceRpc5Context(_pkt, /, *, cont_id=0, n_transfer_syn=None, reserved=0, abstract_syntax=None, transfer_syntaxes=[])[source]
Bases:
EPacket- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONT ID | N TRANSFER SYN| RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ABSTRACT SYNTAX | TRANSFER SYNTAXES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5ContextDceRpc5Context fields cont_id
_EField0n_transfer_syn
Nonereserved
0abstract_syntax
Nonetransfer_syntaxes
[]
- class scapy.layers.dcerpc.DceRpc5Fault(_pkt, /, *, alloc_hint=0, cont_id=0, cancel_count=0, reserved=<Flag 0 ()>, status=0, reserved2=0)[source]
Bases:
_DceRpcPayload- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ALLOC HINT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONT ID | CANCEL COUNT | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5FaultDceRpc5Fault fields alloc_hint
_EField0cont_id
_EField0cancel_count
0reserved
<Flag 0 ()>status
_EField0reserved2
0
- class scapy.layers.dcerpc.DceRpc5PortAny(_pkt, /, *, length=None, port_spec=b'')[source]
Bases:
EPacket- 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 | PORT SPEC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5PortAnyDceRpc5PortAny fields length
_EFieldNoneport_spec
_EFieldb''
- class scapy.layers.dcerpc.DceRpc5Request(_pkt, /, *, alloc_hint=0, cont_id=0, opnum=0, object=None)[source]
Bases:
_DceRpcPayload- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ALLOC HINT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONT ID | OPNUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OBJECT | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5RequestDceRpc5Request fields alloc_hint
_EField0cont_id
_EField0opnum
_EField0object
PadField(Cond)None
- class scapy.layers.dcerpc.DceRpc5Response(_pkt, /, *, alloc_hint=0, cont_id=0, cancel_count=0, reserved=0)[source]
Bases:
_DceRpcPayload- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ALLOC HINT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONT ID | CANCEL COUNT | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5ResponseDceRpc5Response fields alloc_hint
_EField0cont_id
_EField0cancel_count
0reserved
0
- class scapy.layers.dcerpc.DceRpc5Result(_pkt, /, *, result=0, reason=0, transfer_syntax=None)[source]
Bases:
EPacket- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULT | REASON | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TRANSFER SYNTAX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5ResultDceRpc5Result fields result
_EField0reason
_EField0transfer_syntax
None
- class scapy.layers.dcerpc.DceRpc5TransferSyntax(_pkt, /, *, if_uuid=None, if_version=3)[source]
Bases:
EPacket- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IF UUID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IF VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpc5TransferSyntaxDceRpc5TransferSyntax fields if_uuid
_EFieldNoneif_version
_EField3
- class scapy.layers.dcerpc.DceRpc5Version(_pkt, /, *, major=0, minor=0)[source]
Bases:
EPacket- aliastypes
- class scapy.layers.dcerpc.DceRpcInterface(name, uuid, version_tuple, if_version, opnums)[source]
Bases:
object
- class scapy.layers.dcerpc.DceRpcOp(request, response)[source]
Bases:
tuple- request
Alias for field number 0
- response
Alias for field number 1
- class scapy.layers.dcerpc.DceRpcSecVT(_pkt, /, *, rpc_sec_verification_trailer=b'\x8a\xe3\x13q\x02\xf46q', commands=[])[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RPC SEC VERIFICATION TRAILER | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COMMANDS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpcSecVTDceRpcSecVT fields rpc_sec_verification_trailer
b'\x8a\xe3\x13q\x02\xf46q'commands
[]
- class scapy.layers.dcerpc.DceRpcSecVTBitmask(_pkt, /, *, bits=1)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BITS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpcSecVTBitmaskDceRpcSecVTBitmask fields bits
1
- class scapy.layers.dcerpc.DceRpcSecVTCommand(_pkt, /, *, SEC_VT_MUST_PROCESS_COMMAND=0, SEC_VT_COMMAND_END=0, Command=0, Length=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S|S| COMMAND | LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpcSecVTCommandDceRpcSecVTCommand fields SEC_VT_MUST_PROCESS_COMMAND
BitField(1 bit)0SEC_VT_COMMAND_END
BitField(1 bit)0Command
0Length
None
- payload_guess
Possible sublayers:
DceRpcSecVTBitmask,DceRpcSecVTHeader2,DceRpcSecVTPcontext
- class scapy.layers.dcerpc.DceRpcSecVTHeader2(_pkt, /, *, PTYPE=0, Reserved1=0, Reserved2=0, drep=0, call_id=0, p_cont_id=0, opnum=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PTYPE | RESERVED1 | RESERVED2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DREP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CALL ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | P CONT ID | OPNUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpcSecVTHeader2DceRpcSecVTHeader2 fields PTYPE
0Reserved1
0Reserved2
0drep
0call_id
0p_cont_id
0opnum
0
- class scapy.layers.dcerpc.DceRpcSecVTPcontext(_pkt, /, *, InterfaceId=None, Version=0, TransferSyntax=None, TransferVersion=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INTERFACEID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TRANSFERSYNTAX | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TRANSFERVERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DceRpcSecVTPcontextDceRpcSecVTPcontext fields InterfaceId
NoneVersion
0TransferSyntax
NoneTransferVersion
0
- class scapy.layers.dcerpc.DceRpcSession(*args, **kwargs)[source]
Bases:
DefaultSessionA DCE/RPC session within a TCP socket.
- MAX_PDU_BODY_SIZE = 4176
- class scapy.layers.dcerpc.DceRpcSocket(*args, **kwargs)[source]
Bases:
StreamSocketA Wrapper around StreamSocket that uses a DceRpcSession
- class scapy.layers.dcerpc.NDRAlign(fld, align, padwith=None)[source]
Bases:
_NDRAlign,ReversePadFieldReversePadField modified to fit NDR.
If no align size is specified, use the one from the inner field
Size is calculated from the beginning of the NDR stream
- fld
- class scapy.layers.dcerpc.NDRConfFieldListField(*args, **kwargs)[source]
Bases:
_NDRConfField,NDRFieldListFieldNDR Conformant FieldListField
- COUNT_FROM = True
- class scapy.layers.dcerpc.NDRConfPacketListField(*args, **kwargs)[source]
Bases:
_NDRConfField,_NDRPacketListFieldNDR Conformant PacketListField
- COUNT_FROM = True
- class scapy.layers.dcerpc.NDRConfStrLenField(*args, **kwargs)[source]
Bases:
_NDRConfField,_NDRValueOf,StrLenFieldNDR Conformant StrLenField.
This is not a “string” per NDR, but an a conformant byte array (e.g. tower_octet_string). For ease of use, we implicitly convert it in specific cases.
- CONFORMANT_STRING = True
- LENGTH_FROM = True
- class scapy.layers.dcerpc.NDRConfStrLenFieldUtf16(*args, **kwargs)[source]
Bases:
_NDRConfField,_NDRValueOf,StrLenFieldUtf16,_NDRUtf16NDR Conformant StrLenFieldUtf16.
See NDRConfStrLenField for comment.
- CONFORMANT_STRING = True
- LENGTH_FROM = True
- ON_WIRE_SIZE_UTF16 = False
- class scapy.layers.dcerpc.NDRConfVarFieldListField(*args, **kwargs)[source]
Bases:
_NDRConfField,_NDRVarField,NDRFieldListFieldNDR Conformant Varying FieldListField
- COUNT_FROM = True
- class scapy.layers.dcerpc.NDRConfVarPacketListField(*args, **kwargs)[source]
Bases:
_NDRConfField,_NDRVarField,_NDRPacketListFieldNDR Conformant Varying PacketListField
- COUNT_FROM = True
- class scapy.layers.dcerpc.NDRConfVarStrLenField(*args, **kwargs)[source]
Bases:
_NDRConfField,_NDRVarField,_NDRValueOf,StrLenFieldNDR Conformant Varying StrLenField
- LENGTH_FROM = True
- class scapy.layers.dcerpc.NDRConfVarStrLenFieldUtf16(*args, **kwargs)[source]
Bases:
_NDRConfField,_NDRVarField,_NDRValueOf,StrLenFieldUtf16,_NDRUtf16NDR Conformant Varying StrLenFieldUtf16
- LENGTH_FROM = True
- ON_WIRE_SIZE_UTF16 = False
- class scapy.layers.dcerpc.NDRConfVarStrNullField(*args, **kwargs)[source]
Bases:
_NDRConfField,_NDRVarField,_NDRValueOf,StrNullFieldNDR Conformant Varying StrNullField
- NULLFIELD = True
- class scapy.layers.dcerpc.NDRConfVarStrNullFieldUtf16(*args, **kwargs)[source]
Bases:
_NDRConfField,_NDRVarField,_NDRValueOf,StrNullFieldUtf16,_NDRUtf16NDR Conformant Varying StrNullFieldUtf16
- NULLFIELD = True
- ON_WIRE_SIZE_UTF16 = False
- class scapy.layers.dcerpc.NDRConformantArray(_pkt, /, *, max_count=None, value=None)[source]
Bases:
_NDRPacket- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NDRConformantArrayNDRConformantArray fields max_count
MultipleTypeField(LELongField, LEIntField)Nonevalue
MultipleTypeField(PacketListField, FieldListField)[]
- class scapy.layers.dcerpc.NDRConformantString(_pkt, /, *, max_count=None, value=b'')[source]
Bases:
_NDRPacket- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NDRConformantStringNDRConformantString fields max_count
MultipleTypeField(LELongField, LEIntField)Nonevalue
b''
- class scapy.layers.dcerpc.NDRContextHandle(_pkt, /, *, attributes=0, uuid=b'')[source]
Bases:
NDRPacket- ALIGNMENT = (4, 4)
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATTRIBUTES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NDRContextHandleNDRContextHandle fields attributes
0uuid
b''
- class scapy.layers.dcerpc.NDRFieldListField(*args, **kwargs)[source]
Bases:
NDRConstructedType,FieldListFieldA FieldListField for NDR
- islist = 1
- class scapy.layers.dcerpc.NDRFullEmbPointerField(fld, ref=False, fmt='I')[source]
Bases:
NDRFullPointerFieldA NDR Embedded Full pointer.
Same as NDRFullPointerField with EMBEDDED = True.
- EMBEDDED = True
- fld
- class scapy.layers.dcerpc.NDRFullPointerField(fld, ref=False, fmt='I')[source]
Bases:
_FieldContainerA NDR Full/Unique pointer field encapsulation.
- Parameters:
EMBEDDED – This pointer is embedded. This means that it’s representation will not appear after the pointer (pointer deferral applies). See [C706] 14.3.12.3 - Algorithm for Deferral of Referents
- EMBEDDED = False
- EMBEDDED_REF = False
- fld
- class scapy.layers.dcerpc.NDRIEEEDoubleField(*args, **kwargs)[source]
Bases:
_NDRField- ALIGN = (8, 8)
- FMT = 'd'
- class scapy.layers.dcerpc.NDRIEEEFloatField(*args, **kwargs)[source]
Bases:
_NDRField- ALIGN = (4, 4)
- FMT = 'f'
- class scapy.layers.dcerpc.NDRInt3264Field(*args, **kwargs)[source]
Bases:
_NDRLenField- FMTS = ['I', 'Q']
- class scapy.layers.dcerpc.NDRIntEnumField(*args, **kwargs)[source]
Bases:
_NDRValueOf,NDRAlign- fld
- class scapy.layers.dcerpc.NDRIntField(*args, **kwargs)[source]
Bases:
_NDRField- ALIGN = (4, 4)
- FMT = 'I'
- class scapy.layers.dcerpc.NDRLongField(*args, **kwargs)[source]
Bases:
_NDRField- ALIGN = (8, 8)
- FMT = 'Q'
- class scapy.layers.dcerpc.NDRNone(_pkt, /, *, ptr=0)[source]
Bases:
NDRPacket- ALIGNMENT = (4, 8)
- aliastypes
- class scapy.layers.dcerpc.NDRPacket(_pkt, /)[source]
Bases:
_NDRPacketA NDR Packet. Handles pointer size & endianness
- ALIGNMENT = (1, 1)
- DEPORTED_CONFORMANTS = []
- aliastypes
- class scapy.layers.dcerpc.NDRPacketField(name, default, pkt_cls, **kwargs)[source]
Bases:
NDRConstructedType,NDRAlign- fld
- class scapy.layers.dcerpc.NDRPointer(_pkt, /, *, referent_id=None, value=None)[source]
Bases:
_NDRPacket- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REFERENT ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NDRPointerNDRPointer fields referent_id
MultipleTypeField(XLELongField, XLEIntField)1value
None
- scapy.layers.dcerpc.NDRRecursiveClass(clsname)[source]
Return a special class that is used for pointer recursion
- class scapy.layers.dcerpc.NDRRefEmbPointerField(fld, ref=False, fmt='I')[source]
Bases:
NDRFullPointerFieldA NDR Embedded Reference pointer.
Same as NDRFullPointerField with EMBEDDED = True and EMBEDDED_REF = True.
- EMBEDDED = True
- EMBEDDED_REF = True
- fld
- class scapy.layers.dcerpc.NDRSerialization1Header(_pkt, /, *, Version=1, Endianness=16, CommonHeaderLength=8, Filler=3435973836)[source]
Bases:
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 | ENDIANNESS | COMMONHEADERLENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FILLER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NDRSerialization1HeaderNDRSerialization1Header fields Version
1Endianness
16CommonHeaderLength
8Filler
3435973836
- class scapy.layers.dcerpc.NDRSerialization1PrivateHeader(_pkt, /, *, ObjectBufferLength=0, Filler=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OBJECTBUFFERLENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FILLER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NDRSerialization1PrivateHeaderNDRSerialization1PrivateHeader fields ObjectBufferLength
0Filler
0
- class scapy.layers.dcerpc.NDRSerializeType1PacketField(*args, **kwargs)[source]
Bases:
_NDRSerializeType1,PacketField- ptr_pack
- class scapy.layers.dcerpc.NDRSerializeType1PacketLenField(*args, **kwargs)[source]
Bases:
_NDRSerializeType1,PacketLenField- ptr_pack
- class scapy.layers.dcerpc.NDRSerializeType1PacketListField(*args, **kwargs)[source]
Bases:
_NDRSerializeType1,PacketListField- ptr_pack
- class scapy.layers.dcerpc.NDRShortField(*args, **kwargs)[source]
Bases:
_NDRField- ALIGN = (2, 2)
- FMT = 'H'
- class scapy.layers.dcerpc.NDRSignedByteField(*args, **kwargs)[source]
Bases:
_NDRLenField,SignedByteField
- class scapy.layers.dcerpc.NDRSignedInt3264Field(*args, **kwargs)[source]
Bases:
NDRInt3264Field- FMTS = ['i', 'q']
- class scapy.layers.dcerpc.NDRSignedIntField(*args, **kwargs)[source]
Bases:
_NDRField- ALIGN = (4, 4)
- FMT = 'i'
- class scapy.layers.dcerpc.NDRSignedLongField(*args, **kwargs)[source]
Bases:
_NDRField- ALIGN = (8, 8)
- FMT = 'q'
- class scapy.layers.dcerpc.NDRSignedShortField(*args, **kwargs)[source]
Bases:
_NDRField- ALIGN = (2, 2)
- FMT = 'h'
- class scapy.layers.dcerpc.NDRUnion(_pkt, /, *, tag=0, value=None)[source]
Bases:
_NDRPacket- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NDRUnionNDRUnion fields tag
0value
None
- class scapy.layers.dcerpc.NDRUnionField(flds, dflt, align, switch_fmt)[source]
Bases:
NDRConstructedType,_NDRUnionField- align
- switch_fmt
- class scapy.layers.dcerpc.NDRVarPacketListField(*args, **kwargs)[source]
Bases:
_NDRVarField,_NDRPacketListFieldNDR Varying PacketListField. Unused
- COUNT_FROM = True
- class scapy.layers.dcerpc.NDRVarStrLenField(*args, **kwargs)[source]
Bases:
_NDRVarField,StrLenFieldNDR Varying StrLenField
- LENGTH_FROM = True
- class scapy.layers.dcerpc.NDRVarStrLenFieldUtf16(*args, **kwargs)[source]
Bases:
_NDRVarField,_NDRValueOf,StrLenFieldUtf16,_NDRUtf16NDR Varying StrLenFieldUtf16
- LENGTH_FROM = True
- ON_WIRE_SIZE_UTF16 = False
- class scapy.layers.dcerpc.NDRVaryingArray(_pkt, /, *, offset=None, actual_count=None, value=None)[source]
Bases:
_NDRPacket- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ACTUAL COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NDRVaryingArrayNDRVaryingArray fields offset
MultipleTypeField(LELongField, LEIntField)0actual_count
MultipleTypeField(LELongField, LEIntField)Nonevalue
None
- class scapy.layers.dcerpc.NL_AUTH_MESSAGE(_pkt, /, *, MessageType=0, Flags=<Flag 0 ()>, NetbiosDomainName=b'', NetbiosComputerName=b'', DnsDomainName=b'.', DnsHostName=b'.', NetbiosComputerNameUtf8=b'.')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MESSAGETYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NETBIOSDOMAINNAME | NETBIOSCOMPUTERNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DNSDOMAINNAME | DNSHOSTNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NETBIOSCOMPUTERNAMEUTF8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NL_AUTH_MESSAGENL_AUTH_MESSAGE fields MessageType
0Flags
<Flag 0 ()>NetbiosDomainName
StrNullField(Cond)b''NetbiosComputerName
StrNullField(Cond)b''DnsDomainName
DNSStrField(Cond)b'.'DnsHostName
DNSStrField(Cond)b'.'NetbiosComputerNameUtf8
DNSStrField(Cond)b'.'
- class scapy.layers.dcerpc.NL_AUTH_SIGNATURE(_pkt, /, *, SignatureAlgorithm=119, SealAlgorithm=65535, Pad=65535, Flags=0, SequenceNumber=b'', Checksum=b'', Confounder=b'', Reserved2=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIGNATUREALGORITHM | SEALALGORITHM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PAD | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEQUENCENUMBER | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHECKSUM | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONFOUNDER | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NL_AUTH_SIGNATURENL_AUTH_SIGNATURE fields SignatureAlgorithm
119SealAlgorithm
65535Pad
65535Flags
0SequenceNumber
b''Checksum
b''Confounder
XStrFixedLenField(Cond)b''Reserved2
MultipleTypeField(StrFixedLenField, StrField)b''
- class scapy.layers.dcerpc.RPC_C_AUTHN(*values)[source]
Bases:
IntEnum- CLOUD_AP = 36
- DCE_PRIVATE = 1
- DCE_PUBLIC = 2
- DEC_PUBLIC = 4
- DEFAULT = 4294967295
- DIGEST = 21
- DPA = 17
- GSS_KERBEROS = 16
- GSS_NEGOTIATE = 9
- GSS_SCHANNEL = 14
- KERNEL = 20
- LIVEXP_SSP = 35
- LIVE_SSP = 32
- MQ = 100
- MSN = 18
- MSONLINE = 82
- NEGO_EXTENDED = 30
- NETLOGON = 68
- NONE = 0
- PKU2U = 31
- WINNT = 10
- class scapy.layers.dcerpc.RPC_C_AUTHN_LEVEL(*values)[source]
Bases:
IntEnum- CALL = 3
- CONNECT = 2
- DEFAULT = 0
- NONE = 1
- PKT = 4
- PKT_INTEGRITY = 5
- PKT_PRIVACY = 6
- class scapy.layers.dcerpc.RPC_C_IMP_LEVEL(*values)[source]
Bases:
IntEnum- ANONYMOUS = 1
- DEFAULT = 0
- DELEGATE = 4
- IDENTIFY = 2
- IMPERSONATE = 3
- scapy.layers.dcerpc.find_com_interface(name) ComInterface[source]
Find an interface object through the name in the IDL
- scapy.layers.dcerpc.find_dcerpc_interface(name) DceRpcInterface[source]
Find an interface object through the name in the IDL
- scapy.layers.dcerpc.ndr_deserialize1(b, cls, ptr_pack=False)[source]
Deserialize Type Serialization Version 1 [MS-RPCE] sect 2.2.6
- Parameters:
ptr_pack – pack in a pointer to the structure.