scapy.layers.smb2

SMB (Server Message Block), also known as CIFS - version 2

class scapy.layers.smb2.SMB2_Compression_Capabilities(_pkt, /, *, CompressionAlgorithmCount=0, Padding=0, Flags=0, CompressionAlgorithms=[])[source]

Bases: 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   COMPRESSIONALGORITHMCOUNT   |            PADDING            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             FLAGS                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     COMPRESSIONALGORITHMS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. SMB2_Compression_Capabilities                
SMB2_Compression_Capabilities fields

CompressionAlgorithmCount

FieldLenField

0

Padding

ShortField

0

Flags

IntEnumField

0

CompressionAlgorithms

FieldListField

[]

payload_guess

Possible sublayers: Padding

class scapy.layers.smb2.SMB2_Compression_Transform_Header(_pkt, /, *, Start=b'\xfcSMB', OriginalCompressedSegmentSize=0, CompressionAlgorithm=0, Flags=0, Offset_or_Length=0)[source]

Bases: 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             START             | ORIGINALCOMPRESSEDSEGMENTSIZE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |      COMPRESSIONALGORITHM     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             FLAGS             |        OFFSET OR LENGTH       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. SMB2_Compression_Transform_Header              
SMB2_Compression_Transform_Header fields

Start

StrFixedLenField

b'\xfcSMB'

OriginalCompressedSegmentSize

LEIntField

0

CompressionAlgorithm

LEShortEnumField

0

Flags

ShortEnumField

0

Offset_or_Length

XLEIntField

0

class scapy.layers.smb2.SMB2_Encryption_Capabilities(_pkt, /, *, CipherCount=1, Ciphers=[1])[source]

Bases: 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          CIPHERCOUNT          |            CIPHERS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. SMB2_Encryption_Capabilities                 
SMB2_Encryption_Capabilities fields

CipherCount

FieldLenField

1

Ciphers

FieldListField

[1]

payload_guess

Possible sublayers: Padding

class scapy.layers.smb2.SMB2_Header(_pkt, /, *, Start=b'\xfeSMB', HeaderLength=0, CreditCharge=0, ChannelSequence=0, Unused=0, Command=0, CreditsRequested=0, Flags=<Flag 0 ()>, ChainOffset=0, MessageID=0, ProcessID=0, TreeID=0, SessionID=0, Signature=0)[source]

Bases: 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             START             |          HEADERLENGTH         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          CREDITCHARGE         |        CHANNELSEQUENCE        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             UNUSED            |            COMMAND            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        CREDITSREQUESTED       |             FLAGS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |          CHAINOFFSET          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           MESSAGEID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           PROCESSID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |             TREEID            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           SESSIONID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           SIGNATURE           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. SMB2_Header                         
SMB2_Header fields

Start

StrFixedLenField

b'\xfeSMB'

HeaderLength

LEShortField

0

CreditCharge

LEShortField

0

ChannelSequence

LEShortField

0

Unused

LEShortField

0

Command

ShortEnumField

0

CreditsRequested

LEShortField

0

Flags

FlagsField

<Flag 0 ()>

ChainOffset

XLEIntField

0

MessageID

LELongField

0

ProcessID

XLEIntField

0

TreeID

XLEIntField

0

SessionID

XLELongField

0

Signature

XNBytesField

0

guess_payload_class(payload)[source]
class scapy.layers.smb2.SMB2_Negociate_Context(_pkt, /, *, ContextType=0, DataLength=0, Reserved=0)[source]

Bases: 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          CONTEXTTYPE          |           DATALENGTH          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            RESERVED                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Fig. SMB2_Negociate_Context                    
SMB2_Negociate_Context fields

ContextType

LEShortEnumField

0

DataLength

FieldLenField

0

Reserved

IntField

0

payload_guess

Possible sublayers: SMB2_Compression_Capabilities, SMB2_Encryption_Capabilities, SMB2_Netname_Negociate_Context_ID, SMB2_Preauth_Integrity_Capabilities

class scapy.layers.smb2.SMB2_Negociate_Protocol_Request_Header(_pkt, /, *, StructureSize=0, DialectCount=None, SecurityMode=<Flag 0 ()>, Reserved=0, Capabilities=<Flag 0 ()>, ClientGUID=UUID('00000000-0000-0000-0000-000000000000'), NegociateContextOffset=0, NegociateCount=None, Reserved2=0, Dialects=[514], NegociateContexts=[])[source]

Bases: 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         STRUCTURESIZE         |          DIALECTCOUNT         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          SECURITYMODE         |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          CAPABILITIES                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           CLIENTGUID                          |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     NEGOCIATECONTEXTOFFSET                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         NEGOCIATECOUNT        |           RESERVED2           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            DIALECTS           |       NEGOCIATECONTEXTS       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. SMB2_Negociate_Protocol_Request_Header            
SMB2_Negociate_Protocol_Request_Header fields

StructureSize

XLEShortField

0

DialectCount

FieldLenField

None

SecurityMode

FlagsField

<Flag 0 ()>

Reserved

LEShortField

0

Capabilities

FlagsField

<Flag 0 ()>

ClientGUID

UUIDField

UUID('00000000-0000-0000-0000-000000000000')

NegociateContextOffset

XLEIntField

0

NegociateCount

FieldLenField

None

Reserved2

ShortField

0

Dialects

FieldListField

[514]

NegociateContexts

FieldListField (Cond)

[]

class scapy.layers.smb2.SMB2_Negociate_Protocol_Response_Header(_pkt, /, *, StructureSize=0, SecurityMode=<Flag 0 ()>, Dialect=0, NegociateCount=None, ServerGUID=UUID('00000000-0000-0000-0000-000000000000'), Capabilities=<Flag 0 ()>, MaxTransactionSize=0, MaxReadSize=0, MaxWriteSize=0, SystemTime=0, ServerStartTime=0, SecurityBufferOffset=0, SecurityBufferLength=0, NegociateContextOffset=0, SecurityBuffer=None, NegociateContexts=[])[source]

Bases: 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         STRUCTURESIZE         |          SECURITYMODE         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            DIALECT            |         NEGOCIATECOUNT        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           SERVERGUID                          |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          CAPABILITIES                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       MAXTRANSACTIONSIZE                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          MAXREADSIZE                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          MAXWRITESIZE                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           SYSTEMTIME                          |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        SERVERSTARTTIME                        |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      SECURITYBUFFEROFFSET     |      SECURITYBUFFERLENGTH     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     NEGOCIATECONTEXTOFFSET                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         SECURITYBUFFER        |       NEGOCIATECONTEXTS       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. SMB2_Negociate_Protocol_Response_Header           
SMB2_Negociate_Protocol_Response_Header fields

StructureSize

XLEShortField

0

SecurityMode

FlagsField

<Flag 0 ()>

Dialect

LEShortEnumField

0

NegociateCount

FieldLenField

None

ServerGUID

UUIDField

UUID('00000000-0000-0000-0000-000000000000')

Capabilities

FlagsField

<Flag 0 ()>

MaxTransactionSize

LEIntField

0

MaxReadSize

LEIntField

0

MaxWriteSize

LEIntField

0

SystemTime

XLongField

0

ServerStartTime

XLongField

0

SecurityBufferOffset

XLEShortField

0

SecurityBufferLength

FieldLenField

0

NegociateContextOffset

XLEIntField

0

SecurityBuffer

XStrLenField

None

NegociateContexts

FieldListField (Cond)

[]

class scapy.layers.smb2.SMB2_Netname_Negociate_Context_ID(_pkt, /, *, NetName=b'')[source]

Bases: 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            NETNAME            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. SMB2_Netname_Negociate_Context_ID              
SMB2_Netname_Negociate_Context_ID fields

NetName

StrFieldUtf16

b''

payload_guess

Possible sublayers: Padding

class scapy.layers.smb2.SMB2_Preauth_Integrity_Capabilities(_pkt, /, *, HashAlgorithmCount=1, SaltLength=0, HashAlgorithms=[1], Salt=b'')[source]

Bases: 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       HASHALGORITHMCOUNT      |           SALTLENGTH          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         HASHALGORITHMS        |              SALT             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. SMB2_Preauth_Integrity_Capabilities             
SMB2_Preauth_Integrity_Capabilities fields

HashAlgorithmCount

FieldLenField

1

SaltLength

FieldLenField

0

HashAlgorithms

FieldListField

[1]

Salt

XStrLenField

b''

payload_guess

Possible sublayers: Padding