scapy.layers.smb2

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

Note

You will find more complete documentation for this layer over at SMB

class scapy.layers.smb2.DFS_REFERRAL(_pkt, /, *, Version=1, Size=None, ServerType=0, ReferralEntryFlags=0, ShareName=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.DFS_REFERRAL'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
classmethod dispatch_hook(_pkt=None, *args, **kargs)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (DFS_REFERRAL).Version>, <FieldLenField (DFS_REFERRAL).Size>, <LEShortEnumField (DFS_REFERRAL).ServerType>, <LEShortField (DFS_REFERRAL).ReferralEntryFlags>, <StrNullFieldUtf16 (DFS_REFERRAL).ShareName>]
class scapy.layers.smb2.DFS_REFERRAL_ENTRY0(_pkt, /, *, DFSPath=b'', DFSAlternatePath=b'', NetworkAddress=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.DFS_REFERRAL_ENTRY0'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrNullFieldUtf16 (DFS_REFERRAL_ENTRY0).DFSPath>, <StrNullFieldUtf16 (DFS_REFERRAL_ENTRY0).DFSAlternatePath>, <StrNullFieldUtf16 (DFS_REFERRAL_ENTRY0).NetworkAddress>]
class scapy.layers.smb2.DFS_REFERRAL_ENTRY1(_pkt, /, *, SpecialName=b'', ExpandedName=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.DFS_REFERRAL_ENTRY1'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrNullFieldUtf16 (DFS_REFERRAL_ENTRY1).SpecialName>, <FieldListField (DFS_REFERRAL_ENTRY1).ExpandedName>]
class scapy.layers.smb2.DFS_REFERRAL_V3(_pkt, /, *, Version=3, Size=None, ServerType=0, ReferralEntryFlags=<Flag 0 ()>, TimeToLive=300, DFSPathOffset=None, DFSAlternatePathOffset=None, NetworkAddressOffset=None, ServiceSiteGuid=0, SpecialNameOffset=None, NumberOfExpandedNames=None, ExpandedNameOffset=None, Padding=None)[source]

Bases: DFS_REFERRAL

aliastypes = [<class 'scapy.layers.smb2.DFS_REFERRAL_V3'>, <class 'scapy.layers.smb2.DFS_REFERRAL'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).Version>, <LEShortField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).Size>, <LEShortEnumField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).ServerType>, <FlagsField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).ReferralEntryFlags>, <LEIntField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).TimeToLive>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.DFS_REFERRAL_V4(_pkt, /, *, Version=4, Size=None, ServerType=0, ReferralEntryFlags=<Flag 0 ()>, TimeToLive=300, DFSPathOffset=None, DFSAlternatePathOffset=None, NetworkAddressOffset=None, ServiceSiteGuid=0, SpecialNameOffset=None, NumberOfExpandedNames=None, ExpandedNameOffset=None, Padding=None)[source]

Bases: DFS_REFERRAL_V3

aliastypes = [<class 'scapy.layers.smb2.DFS_REFERRAL_V4'>, <class 'scapy.layers.smb2.DFS_REFERRAL_V3'>, <class 'scapy.layers.smb2.DFS_REFERRAL'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).Version>, <LEShortField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).Size>, <LEShortEnumField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).ServerType>, <FlagsField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).ReferralEntryFlags>, <LEIntField (DFS_REFERRAL_V3,DFS_REFERRAL_V4).TimeToLive>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.layers.smb2.DirectTCP(_pkt, /, *, zero=0, LENGTH=None)[source]

Bases: NBTSession

MAXLENGTH = 16777215
aliastypes = [<class 'scapy.layers.smb2.DirectTCP'>, <class 'scapy.layers.netbios.NBTSession'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (DirectTCP).zero>, <ThreeBytesField (DirectTCP).LENGTH>]
class scapy.layers.smb2.FILE_BOTH_DIR_INFORMATION(_pkt, /, *, Next=None, FileIndex=0, CreationTime=None, LastAccessTime=None, LastWriteTime=None, ChangeTime=None, EndOfFile=0, AllocationSize=4096, FileAttributes=<Flag 128 (FILE_ATTRIBUTE_NORMAL)>, FileNameLength=None, EaSize=None, ShortNameLength=0, Reserved1=0, ShortName=b'', FileName=b'.\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FILE_BOTH_DIR_INFORMATION'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).Next>, <LEIntField (FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).FileIndex>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).CreationTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastAccessTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastWriteTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).ChangeTime>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).EndOfFile>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).AllocationSize>, <FlagsField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).FileAttributes>, <FieldLenField (FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).FileNameLength>, <scapy.fields.MultipleTypeField object>, <ByteField (FILE_BOTH_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).ShortNameLength>, <ByteField (FILE_BOTH_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).Reserved1>, <StrFixedLenField (FILE_BOTH_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).ShortName>, <scapy.fields.PadField object>]
class scapy.layers.smb2.FILE_FULL_DIR_INFORMATION(_pkt, /, *, Next=None, FileIndex=0, CreationTime=None, LastAccessTime=None, LastWriteTime=None, ChangeTime=None, EndOfFile=0, AllocationSize=4096, FileAttributes=<Flag 128 (FILE_ATTRIBUTE_NORMAL)>, FileNameLength=None, EaSize=None, FileName=b'.\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FILE_FULL_DIR_INFORMATION'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).Next>, <LEIntField (FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).FileIndex>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).CreationTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastAccessTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastWriteTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).ChangeTime>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).EndOfFile>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).AllocationSize>, <FlagsField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).FileAttributes>, <FieldLenField (FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).FileNameLength>, <scapy.fields.MultipleTypeField object>, <scapy.fields.PadField object>]
class scapy.layers.smb2.FILE_GET_QUOTA_INFORMATION(_pkt, /, *, NextEntryOffset=0, SidLength=None, Sid=b'', pad=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FILE_GET_QUOTA_INFORMATION'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (FILE_GET_QUOTA_INFORMATION).NextEntryOffset>, <FieldLenField (FILE_GET_QUOTA_INFORMATION).SidLength>, <StrLenField (FILE_GET_QUOTA_INFORMATION).Sid>, <StrLenField (FILE_GET_QUOTA_INFORMATION).pad>]
class scapy.layers.smb2.FILE_ID_BOTH_DIR_INFORMATION(_pkt, /, *, Next=None, FileIndex=0, CreationTime=None, LastAccessTime=None, LastWriteTime=None, ChangeTime=None, EndOfFile=0, AllocationSize=4096, FileAttributes=<Flag 128 (FILE_ATTRIBUTE_NORMAL)>, FileNameLength=None, EaSize=None, ShortNameLength=0, Reserved1=0, ShortName=b'', Reserved2=0, FileId=0, FileName=b'.\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FILE_ID_BOTH_DIR_INFORMATION'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).Next>, <LEIntField (FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).FileIndex>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).CreationTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastAccessTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastWriteTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).ChangeTime>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).EndOfFile>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).AllocationSize>, <FlagsField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).FileAttributes>, <FieldLenField (FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).FileNameLength>, <scapy.fields.MultipleTypeField object>, <ByteField (FILE_BOTH_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).ShortNameLength>, <ByteField (FILE_BOTH_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).Reserved1>, <StrFixedLenField (FILE_BOTH_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION).ShortName>, <LEShortField (FILE_ID_BOTH_DIR_INFORMATION).Reserved2>, <LELongField (FILE_ID_BOTH_DIR_INFORMATION).FileId>, <scapy.fields.PadField object>]
class scapy.layers.smb2.FILE_NAME_INFORMATION(_pkt, /, *, FileNameLength=None, FileName=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FILE_NAME_INFORMATION'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (FILE_NAME_INFORMATION).FileNameLength>, <StrLenFieldUtf16 (FILE_NAME_INFORMATION).FileName>]
class scapy.layers.smb2.FILE_NOTIFY_INFORMATION(_pkt, /, *, NextEntryOffset=0, Action=0, FileNameLength=None, FileName=b'', pad=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FILE_NOTIFY_INFORMATION'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (FILE_NOTIFY_INFORMATION).NextEntryOffset>, <LEIntEnumField (FILE_NOTIFY_INFORMATION).Action>, <FieldLenField (FILE_NOTIFY_INFORMATION).FileNameLength>, <StrLenFieldUtf16 (FILE_NOTIFY_INFORMATION).FileName>, <StrLenField (FILE_NOTIFY_INFORMATION).pad>]
class scapy.layers.smb2.FileAccessInformation(_pkt, /, *, AccessFlags=<Flag 0 ()>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileAccessInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (FileAccessInformation).AccessFlags>]
class scapy.layers.smb2.FileAlignmentInformation(_pkt, /, *, AccessFlags=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileAlignmentInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntEnumField (FileAlignmentInformation).AccessFlags>]
class scapy.layers.smb2.FileAllInformation(_pkt, /, *, BasicInformation=<FileBasicInformation  |>, StandardInformation=<FileStandardInformation  |>, InternalInformation=<FileInternalInformation  |>, EaInformation=<FileEaInformation  |>, AccessInformation=<FileAccessInformation  |>, PositionInformation=<FilePositionInformation  |>, ModeInformation=<FileModeInformation  |>, AlignmentInformation=<FileAlignmentInformation  |>, NameInformation=<FILE_NAME_INFORMATION  |>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileAllInformation'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<PacketField (FileAllInformation).BasicInformation>, <PacketField (FileAllInformation).StandardInformation>, <PacketField (FileAllInformation).InternalInformation>, <PacketField (FileAllInformation).EaInformation>, <PacketField (FileAllInformation).AccessInformation>, <PacketField (FileAllInformation).PositionInformation>, <PacketField (FileAllInformation).ModeInformation>, <PacketField (FileAllInformation).AlignmentInformation>, <PacketField (FileAllInformation).NameInformation>]
class scapy.layers.smb2.FileAlternateNameInformation(_pkt, /, *, FileNameLength=None, FileName=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileAlternateNameInformation'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (FileAlternateNameInformation).FileNameLength>, <StrLenFieldUtf16 (FileAlternateNameInformation).FileName>]
class scapy.layers.smb2.FileBasicInformation(_pkt, /, *, CreationTime=None, LastAccessTime=None, LastWriteTime=None, ChangeTime=None, FileAttributes=<Flag 128 (FILE_ATTRIBUTE_NORMAL)>, Reserved=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileBasicInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<UTCTimeField (FileBasicInformation).CreationTime>, <UTCTimeField (FileBasicInformation).LastAccessTime>, <UTCTimeField (FileBasicInformation).LastWriteTime>, <UTCTimeField (FileBasicInformation).ChangeTime>, <FlagsField (FileBasicInformation).FileAttributes>, <IntField (FileBasicInformation).Reserved>]
class scapy.layers.smb2.FileBothDirectoryInformation(_pkt, /, *, files=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileBothDirectoryInformation'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<_NextPacketListField (FileBothDirectoryInformation).files>]
class scapy.layers.smb2.FileEaInformation(_pkt, /, *, EaSize=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileEaInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (FileEaInformation).EaSize>]
class scapy.layers.smb2.FileFsAttributeInformation(_pkt, /, *, FileSystemAttributes=<Flag 13043455 (FILE_CASE_SENSITIVE_SEARCH+FILE_CASE_PRESERVED_NAMES+FILE_UNICODE_ON_DISK+FILE_PERSISTENT_ACLS+FILE_FILE_COMPRESSION+FILE_VOLUME_QUOTAS+FILE_SUPPORTS_SPARSE_FILES+FILE_SUPPORTS_REPARSE_POINTS+bit_9+bit_10+FILE_SUPPORTS_OBJECT_IDS+FILE_SUPPORTS_ENCRYPTION+FILE_NAMED_STREAMS+FILE_SUPPORTS_HARD_LINKS+FILE_SUPPORTS_EXTENDED_ATTRIBUTES)>, MaximumComponentNameLength=255, FileSystemNameLength=None, FileSystemName=b'N\x00T\x00F\x00S\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileFsAttributeInformation'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (FileFsAttributeInformation).FileSystemAttributes>, <LEIntField (FileFsAttributeInformation).MaximumComponentNameLength>, <FieldLenField (FileFsAttributeInformation).FileSystemNameLength>, <StrLenFieldUtf16 (FileFsAttributeInformation).FileSystemName>]
class scapy.layers.smb2.FileFsSizeInformation(_pkt, /, *, TotalAllocationUnits=10485760, AvailableAllocationUnits=1048576, SectorsPerAllocationUnit=8, BytesPerSector=512)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileFsSizeInformation'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LELongField (FileFsSizeInformation).TotalAllocationUnits>, <LELongField (FileFsSizeInformation).AvailableAllocationUnits>, <LEIntField (FileFsSizeInformation).SectorsPerAllocationUnit>, <LEIntField (FileFsSizeInformation).BytesPerSector>]
class scapy.layers.smb2.FileFsVolumeInformation(_pkt, /, *, VolumeCreationTime=None, VolumeSerialNumber=0, VolumeLabelLength=0, SupportsObjects=1, Reserved=0, VolumeLabel=b'C\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileFsVolumeInformation'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<UTCTimeField (FileFsVolumeInformation).VolumeCreationTime>, <LEIntField (FileFsVolumeInformation).VolumeSerialNumber>, <LEIntField (FileFsVolumeInformation).VolumeLabelLength>, <ByteField (FileFsVolumeInformation).SupportsObjects>, <ByteField (FileFsVolumeInformation).Reserved>, <StrNullFieldUtf16 (FileFsVolumeInformation).VolumeLabel>]
class scapy.layers.smb2.FileFullDirectoryInformation(_pkt, /, *, files=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileFullDirectoryInformation'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<_NextPacketListField (FileFullDirectoryInformation).files>]
class scapy.layers.smb2.FileIdBothDirectoryInformation(_pkt, /, *, files=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileIdBothDirectoryInformation'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<_NextPacketListField (FileIdBothDirectoryInformation).files>]
class scapy.layers.smb2.FileInternalInformation(_pkt, /, *, IndexNumber=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileInternalInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LELongField (FileInternalInformation).IndexNumber>]
class scapy.layers.smb2.FileModeInformation(_pkt, /, *, Mode=<Flag 0 ()>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileModeInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (FileModeInformation).Mode>]
class scapy.layers.smb2.FileNetworkOpenInformation(_pkt, /, *, CreationTime=None, LastAccessTime=None, LastWriteTime=None, ChangeTime=None, AllocationSize=4096, EndOfFile=0, FileAttributes=<Flag 128 (FILE_ATTRIBUTE_NORMAL)>, Reserved2=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileNetworkOpenInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).CreationTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastAccessTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastWriteTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).ChangeTime>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).AllocationSize>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).EndOfFile>, <FlagsField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).FileAttributes>, <IntField (FileNetworkOpenInformation,SMB2_Create_Response).Reserved2>]
class scapy.layers.smb2.FilePositionInformation(_pkt, /, *, CurrentByteOffset=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FilePositionInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LELongField (FilePositionInformation).CurrentByteOffset>]
class scapy.layers.smb2.FileRenameInformation(_pkt, /, *, ReplaceIfExists=False, Reserved=b'', RootDirectory=0, FileNameLength=0, FileName=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileRenameInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<YesNoByteField (FileRenameInformation).ReplaceIfExists>, <XStrFixedLenField (FileRenameInformation).Reserved>, <LELongField (FileRenameInformation).RootDirectory>, <FieldLenField (FileRenameInformation).FileNameLength>, <StrLenFieldUtf16 (FileRenameInformation).FileName>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.FileStandardInformation(_pkt, /, *, AllocationSize=4096, EndOfFile=0, NumberOfLinks=1, DeletePending=0, Directory=0, Reserved=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileStandardInformation'>, <class 'scapy.packet.Packet'>]
default_payload_class(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LELongField (FileStandardInformation).AllocationSize>, <LELongField (FileStandardInformation).EndOfFile>, <LEIntField (FileStandardInformation).NumberOfLinks>, <ByteField (FileStandardInformation).DeletePending>, <ByteField (FileStandardInformation).Directory>, <ShortField (FileStandardInformation).Reserved>]
class scapy.layers.smb2.FileStreamInformation(_pkt, /, *, Next=0, StreamNameLength=None, StreamSize=0, StreamAllocationSize=4096, StreamName=b':\x00:\x00$\x00D\x00A\x00T\x00A\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.FileStreamInformation'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (FileStreamInformation).Next>, <FieldLenField (FileStreamInformation).StreamNameLength>, <LELongField (FileStreamInformation).StreamSize>, <LELongField (FileStreamInformation).StreamAllocationSize>, <StrLenFieldUtf16 (FileStreamInformation).StreamName>]
class scapy.layers.smb2.MOVE_DST_IPADDR(_pkt, /, *, Type=1, Reserved=0, IPAddress=None, Reserved2=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.MOVE_DST_IPADDR'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntEnumField (MOVE_DST_IPADDR).Type>, <IntField (MOVE_DST_IPADDR).Reserved>, <scapy.fields.MultipleTypeField object>, <scapy.fields.ConditionalField object>]
class scapy.layers.smb2.NETWORK_INTERFACE_INFO(_pkt, /, *, Next=None, IfIndex=1, Capability=<Flag 1 (RSS_CAPABLE)>, Reserved=0, LinkSpeed=10000000000, SockAddr_Storage=<SOCKADDR_STORAGE  |>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.NETWORK_INTERFACE_INFO'>, <class 'scapy.packet.Packet'>]
default_payload_class(_)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (NETWORK_INTERFACE_INFO).Next>, <LEIntField (NETWORK_INTERFACE_INFO).IfIndex>, <FlagsField (NETWORK_INTERFACE_INFO).Capability>, <LEIntField (NETWORK_INTERFACE_INFO).Reserved>, <ScalingField (NETWORK_INTERFACE_INFO).LinkSpeed>, <PacketField (NETWORK_INTERFACE_INFO).SockAddr_Storage>]
class scapy.layers.smb2.SMB2_CREATE_ALLOCATION_SIZE(_pkt, /, *, AllocationSize=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_ALLOCATION_SIZE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LELongField (SMB2_CREATE_ALLOCATION_SIZE).AllocationSize>]
class scapy.layers.smb2.SMB2_CREATE_APP_INSTANCE_ID(_pkt, /, *, StructureSize=20, Reserved=0, AppInstanceId=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_APP_INSTANCE_ID'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_CREATE_APP_INSTANCE_ID).StructureSize>, <LEShortField (SMB2_CREATE_APP_INSTANCE_ID).Reserved>, <XStrFixedLenField (SMB2_CREATE_APP_INSTANCE_ID).AppInstanceId>]
class scapy.layers.smb2.SMB2_CREATE_APP_INSTANCE_VERSION(_pkt, /, *, StructureSize=24, Reserved=0, Padding=0, AppInstanceVersionHigh=0, AppInstanceVersionLow=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_APP_INSTANCE_VERSION'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_CREATE_APP_INSTANCE_VERSION).StructureSize>, <LEShortField (SMB2_CREATE_APP_INSTANCE_VERSION).Reserved>, <LEIntField (SMB2_CREATE_APP_INSTANCE_VERSION).Padding>, <LELongField (SMB2_CREATE_APP_INSTANCE_VERSION).AppInstanceVersionHigh>, <LELongField (SMB2_CREATE_APP_INSTANCE_VERSION).AppInstanceVersionLow>]
class scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_RECONNECT(_pkt, /, *, Data=<SMB2_FILEID  |>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_RECONNECT'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<PacketField (SMB2_CREATE_DURABLE_HANDLE_RECONNECT).Data>]
class scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2(_pkt, /, *, FileId=<SMB2_FILEID  |>, CreateGuid=UUID('00000000-0000-0000-0000-000000000000'), Flags=<Flag 0 ()>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<PacketField (SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2).FileId>, <UUIDField (SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2).CreateGuid>, <FlagsField (SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2).Flags>]
class scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_REQUEST(_pkt, /, *, DurableRequest=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_REQUEST'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XStrFixedLenField (SMB2_CREATE_DURABLE_HANDLE_REQUEST).DurableRequest>]
class scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2(_pkt, /, *, Timeout=0, Flags=<Flag 0 ()>, Reserved=b'', CreateGuid=UUID('00000000-0000-0000-0000-000000000000'))[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (SMB2_CREATE_DURABLE_HANDLE_RESPONSE_V2,SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2).Timeout>, <FlagsField (SMB2_CREATE_DURABLE_HANDLE_RESPONSE_V2,SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2).Flags>, <XStrFixedLenField (SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2).Reserved>, <UUIDField (SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2).CreateGuid>]
class scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_RESPONSE(_pkt, /, *, Reserved=b'\x00\x00\x00\x00\x00\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_RESPONSE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XStrFixedLenField (SMB2_CREATE_DURABLE_HANDLE_RESPONSE).Reserved>]
class scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_RESPONSE_V2(_pkt, /, *, Timeout=0, Flags=<Flag 0 ()>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_DURABLE_HANDLE_RESPONSE_V2'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (SMB2_CREATE_DURABLE_HANDLE_RESPONSE_V2,SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2).Timeout>, <FlagsField (SMB2_CREATE_DURABLE_HANDLE_RESPONSE_V2,SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2).Flags>]
class scapy.layers.smb2.SMB2_CREATE_QUERY_MAXIMAL_ACCESS_REQUEST(_pkt, /, *, Timestamp=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_QUERY_MAXIMAL_ACCESS_REQUEST'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LELongField (SMB2_CREATE_QUERY_MAXIMAL_ACCESS_REQUEST).Timestamp>]
class scapy.layers.smb2.SMB2_CREATE_QUERY_MAXIMAL_ACCESS_RESPONSE(_pkt, /, *, QueryStatus=0, MaximalAccess=<Flag 0 ()>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_QUERY_MAXIMAL_ACCESS_RESPONSE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntEnumField (SMB2_CREATE_QUERY_MAXIMAL_ACCESS_RESPONSE).QueryStatus>, <FlagsField (SMB2_CREATE_QUERY_MAXIMAL_ACCESS_RESPONSE).MaximalAccess>]
class scapy.layers.smb2.SMB2_CREATE_QUERY_ON_DISK_ID(_pkt, /, *, DiskFileId=0, VolumeId=0, Reserved=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_QUERY_ON_DISK_ID'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLELongField (SMB2_CREATE_QUERY_ON_DISK_ID).DiskFileId>, <XLELongField (SMB2_CREATE_QUERY_ON_DISK_ID).VolumeId>, <XStrFixedLenField (SMB2_CREATE_QUERY_ON_DISK_ID).Reserved>]
class scapy.layers.smb2.SMB2_CREATE_REQUEST_LEASE(_pkt, /, *, LeaseKey=None, LeaseState=<Flag 7 (SMB2_LEASE_READ_CACHING+SMB2_LEASE_HANDLE_CACHING+SMB2_LEASE_WRITE_CACHING)>, LeaseFlags=<Flag 0 ()>, LeaseDuration=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_REQUEST_LEASE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<UUIDField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseKey>, <FlagsField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseState>, <FlagsField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseFlags>, <LELongField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseDuration>]
class scapy.layers.smb2.SMB2_CREATE_REQUEST_LEASE_V2(_pkt, /, *, LeaseKey=None, LeaseState=<Flag 7 (SMB2_LEASE_READ_CACHING+SMB2_LEASE_HANDLE_CACHING+SMB2_LEASE_WRITE_CACHING)>, LeaseFlags=<Flag 0 ()>, LeaseDuration=0, ParentLeaseKey=None, Epoch=0, Reserved=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_REQUEST_LEASE_V2'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<UUIDField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseKey>, <FlagsField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseState>, <FlagsField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseFlags>, <LELongField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseDuration>, <UUIDField (SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE_V2).ParentLeaseKey>, <LEShortField (SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE_V2).Epoch>, <LEShortField (SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE_V2).Reserved>]
class scapy.layers.smb2.SMB2_CREATE_RESPONSE_LEASE(_pkt, /, *, LeaseKey=None, LeaseState=<Flag 7 (SMB2_LEASE_READ_CACHING+SMB2_LEASE_HANDLE_CACHING+SMB2_LEASE_WRITE_CACHING)>, LeaseFlags=<Flag 0 ()>, LeaseDuration=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_RESPONSE_LEASE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<UUIDField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseKey>, <FlagsField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseState>, <FlagsField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseFlags>, <LELongField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseDuration>]
class scapy.layers.smb2.SMB2_CREATE_RESPONSE_LEASE_V2(_pkt, /, *, LeaseKey=None, LeaseState=<Flag 7 (SMB2_LEASE_READ_CACHING+SMB2_LEASE_HANDLE_CACHING+SMB2_LEASE_WRITE_CACHING)>, LeaseFlags=<Flag 0 ()>, LeaseDuration=0, ParentLeaseKey=None, Epoch=0, Reserved=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_RESPONSE_LEASE_V2'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<UUIDField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseKey>, <FlagsField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseState>, <FlagsField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseFlags>, <LELongField (SMB2_CREATE_RESPONSE_LEASE,SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2).LeaseDuration>, <UUIDField (SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE_V2).ParentLeaseKey>, <LEShortField (SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE_V2).Epoch>, <LEShortField (SMB2_CREATE_RESPONSE_LEASE_V2,SMB2_CREATE_REQUEST_LEASE_V2).Reserved>]
class scapy.layers.smb2.SMB2_CREATE_TIMEWARP_TOKEN(_pkt, /, *, Timestamp=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_CREATE_TIMEWARP_TOKEN'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LELongField (SMB2_CREATE_TIMEWARP_TOKEN).Timestamp>]
class scapy.layers.smb2.SMB2_Cancel_Request(_pkt, /, *, StructureSize=4, Reserved=0)[source]

Bases: _SMB2_Payload

aliastypes = [<class 'scapy.layers.smb2.SMB2_Cancel_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Cancel_Request).StructureSize>, <LEShortField (SMB2_Cancel_Request).Reserved>]
class scapy.layers.smb2.SMB2_Change_Notify_Request(_pkt, /, *, StructureSize=32, Flags=<Flag 0 ()>, OutputBufferLength=2048, FileId=<SMB2_FILEID  |>, CompletionFilter=<Flag 0 ()>, Reserved=0)[source]

Bases: _SMB2_Payload

Command = 15
aliastypes = [<class 'scapy.layers.smb2.SMB2_Change_Notify_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Change_Notify_Request).StructureSize>, <FlagsField (SMB2_Change_Notify_Request).Flags>, <LEIntField (SMB2_Change_Notify_Request).OutputBufferLength>, <PacketField (SMB2_Change_Notify_Request).FileId>, <FlagsField (SMB2_Change_Notify_Request).CompletionFilter>, <LEIntField (SMB2_Change_Notify_Request).Reserved>]
class scapy.layers.smb2.SMB2_Change_Notify_Response(_pkt, /, *, StructureSize=9, OutputBufferOffset=None, OutputLen=None, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 15
OFFSET = 72
aliastypes = [<class 'scapy.layers.smb2.SMB2_Change_Notify_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Change_Notify_Response).StructureSize>, <LEShortField (SMB2_Change_Notify_Response).OutputBufferOffset>, <LEIntField (SMB2_Change_Notify_Response).OutputLen>, <_NTLMPayloadField (SMB2_Change_Notify_Response).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Close_Request(_pkt, /, *, StructureSize=24, Flags=<Flag 0 ()>, Reserved=0, FileId=<SMB2_FILEID  |>)[source]

Bases: _SMB2_Payload

Command = 6
aliastypes = [<class 'scapy.layers.smb2.SMB2_Close_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Close_Request).StructureSize>, <FlagsField (SMB2_Close_Request).Flags>, <LEIntField (SMB2_Close_Request).Reserved>, <PacketField (SMB2_Close_Request).FileId>]
class scapy.layers.smb2.SMB2_Close_Response(_pkt, /, *, StructureSize=60, Flags=<Flag 0 ()>, Reserved=0, CreationTime=0, LastAccessTime=0, LastWriteTime=0, ChangeTime=0, AllocationSize=4096, EndOfFile=0, FileAttributes=0)[source]

Bases: _SMB2_Payload

Command = 6
aliastypes = [<class 'scapy.layers.smb2.SMB2_Close_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Close_Response).StructureSize>, <FlagsField (SMB2_Close_Response).Flags>, <LEIntField (SMB2_Close_Response).Reserved>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).CreationTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastAccessTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastWriteTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).ChangeTime>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).AllocationSize>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).EndOfFile>, <FlagsField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).FileAttributes>]
class scapy.layers.smb2.SMB2_Compression_Capabilities(_pkt, /, *, CompressionAlgorithmCount=None, Padding=0, Flags=0, CompressionAlgorithms=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Compression_Capabilities'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (SMB2_Compression_Capabilities).CompressionAlgorithmCount>, <ShortField (SMB2_Compression_Capabilities).Padding>, <LEIntEnumField (SMB2_Compression_Capabilities).Flags>, <FieldListField (SMB2_Compression_Capabilities).CompressionAlgorithms>]
class scapy.layers.smb2.SMB2_Compression_Transform_Header(_pkt, /, *, Start=b'\xfcSMB', OriginalCompressedSegmentSize=0, CompressionAlgorithm=0, Flags=0, Offset_or_Length=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Compression_Transform_Header'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (SMB2_Compression_Transform_Header).Start>, <LEIntField (SMB2_Compression_Transform_Header).OriginalCompressedSegmentSize>, <LEShortEnumField (SMB2_Compression_Transform_Header).CompressionAlgorithm>, <LEShortEnumField (SMB2_Compression_Transform_Header).Flags>, <XLEIntField (SMB2_Compression_Transform_Header).Offset_or_Length>]
class scapy.layers.smb2.SMB2_Create_Context(_pkt, /, *, Next=None, NameBufferOffset=None, NameLen=None, Reserved=0, DataBufferOffset=None, DataLen=None, Buffer=[], pad=b'')[source]

Bases: _NTLMPayloadPacket

OFFSET = 16
aliastypes = [<class 'scapy.layers.smb2.SMB2_Create_Context'>, <class 'scapy.layers.ntlm._NTLMPayloadPacket'>, <class 'scapy.packet.Packet'>]
default_payload_class(_)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (SMB2_Create_Context).Next>, <XLEShortField (SMB2_Create_Context).NameBufferOffset>, <LEShortField (SMB2_Create_Context).NameLen>, <ShortField (SMB2_Create_Context).Reserved>, <XLEShortField (SMB2_Create_Context).DataBufferOffset>, <LEIntField (SMB2_Create_Context).DataLen>, <_NTLMPayloadField (SMB2_Create_Context).Buffer>, <StrLenField (SMB2_Create_Context).pad>]
post_build(pkt: bytes, pay: bytes) bytes[source]
post_dissect(s)[source]
class scapy.layers.smb2.SMB2_Create_Request(_pkt, /, *, StructureSize=57, ShareType=0, RequestedOplockLevel=0, ImpersonationLevel=0, SmbCreateFlags=0, Reserved=0, DesiredAccess=<Flag 0 ()>, FileAttributes=<Flag 128 (FILE_ATTRIBUTE_NORMAL)>, ShareAccess=<Flag 0 ()>, CreateDisposition=1, CreateOptions=<Flag 0 ()>, NameBufferOffset=None, NameLen=None, CreateContextsBufferOffset=None, CreateContextsLen=None, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 5
OFFSET = 120
aliastypes = [<class 'scapy.layers.smb2.SMB2_Create_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Create_Request).StructureSize>, <ByteField (SMB2_Create_Request).ShareType>, <ByteEnumField (SMB2_Create_Request).RequestedOplockLevel>, <LEIntEnumField (SMB2_Create_Request).ImpersonationLevel>, <LELongField (SMB2_Create_Request).SmbCreateFlags>, <LELongField (SMB2_Create_Request).Reserved>, <FlagsField (SMB2_Create_Request).DesiredAccess>, <FlagsField (SMB2_Create_Request).FileAttributes>, <FlagsField (SMB2_Create_Request).ShareAccess>, <LEIntEnumField (SMB2_Create_Request).CreateDisposition>, <FlagsField (SMB2_Create_Request).CreateOptions>, <XLEShortField (SMB2_Create_Request).NameBufferOffset>, <LEShortField (SMB2_Create_Request).NameLen>, <XLEIntField (SMB2_Create_Request).CreateContextsBufferOffset>, <LEIntField (SMB2_Create_Request).CreateContextsLen>, <_NTLMPayloadField (SMB2_Create_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Create_Response(_pkt, /, *, StructureSize=89, OplockLevel=0, Flags=<Flag 0 ()>, CreateAction=1, CreationTime=None, LastAccessTime=None, LastWriteTime=None, ChangeTime=None, AllocationSize=4096, EndOfFile=0, FileAttributes=<Flag 128 (FILE_ATTRIBUTE_NORMAL)>, Reserved2=0, FileId=<SMB2_FILEID  |>, CreateContextsBufferOffset=None, CreateContextsLen=None, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 5
OFFSET = 152
aliastypes = [<class 'scapy.layers.smb2.SMB2_Create_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Create_Response).StructureSize>, <ByteEnumField (SMB2_Create_Response).OplockLevel>, <FlagsField (SMB2_Create_Response).Flags>, <LEIntEnumField (SMB2_Create_Response).CreateAction>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).CreationTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastAccessTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).LastWriteTime>, <UTCTimeField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).ChangeTime>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).AllocationSize>, <LELongField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).EndOfFile>, <FlagsField (FileNetworkOpenInformation,FILE_BOTH_DIR_INFORMATION,FILE_FULL_DIR_INFORMATION,FILE_ID_BOTH_DIR_INFORMATION,SMB2_Create_Response,SMB2_Close_Response).FileAttributes>, <IntField (FileNetworkOpenInformation,SMB2_Create_Response).Reserved2>, <PacketField (SMB2_Create_Response).FileId>, <XLEIntField (SMB2_Create_Response).CreateContextsBufferOffset>, <LEIntField (SMB2_Create_Response).CreateContextsLen>, <_NTLMPayloadField (SMB2_Create_Response).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Echo_Request(_pkt, /, *, StructureSize=4, Reserved=0)[source]

Bases: _SMB2_Payload

Command = 13
aliastypes = [<class 'scapy.layers.smb2.SMB2_Echo_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Echo_Request).StructureSize>, <LEShortField (SMB2_Echo_Request).Reserved>]
class scapy.layers.smb2.SMB2_Echo_Response(_pkt, /, *, StructureSize=4, Reserved=0)[source]

Bases: _SMB2_Payload

Command = 13
aliastypes = [<class 'scapy.layers.smb2.SMB2_Echo_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Echo_Response).StructureSize>, <LEShortField (SMB2_Echo_Response).Reserved>]
class scapy.layers.smb2.SMB2_Encryption_Capabilities(_pkt, /, *, CipherCount=None, Ciphers=[1])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Encryption_Capabilities'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (SMB2_Encryption_Capabilities).CipherCount>, <FieldListField (SMB2_Encryption_Capabilities).Ciphers>]
class scapy.layers.smb2.SMB2_Error_ContextResponse(_pkt, /, *, ErrorDatalength=None, ErrorId=0, ErrorContextData=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Error_ContextResponse'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (SMB2_Error_ContextResponse).ErrorDatalength>, <LEIntEnumField (SMB2_Error_ContextResponse).ErrorId>, <scapy.fields.MultipleTypeField object>]
class scapy.layers.smb2.SMB2_Error_Response(_pkt, /, *, StructureSize=9, ErrorContextCount=0, Reserved=0, ByteCount=None, ErrorData=b'')[source]

Bases: _SMB2_Payload

Command = -1
NTStatus
aliastypes = [<class 'scapy.layers.smb2.SMB2_Error_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Error_Response).StructureSize>, <ByteField (SMB2_Error_Response).ErrorContextCount>, <ByteField (SMB2_Error_Response).Reserved>, <FieldLenField (SMB2_Error_Response).ByteCount>, <XStrLenField (SMB2_Error_Response).ErrorData>]
class scapy.layers.smb2.SMB2_Error_Share_Redirect_Context_Response(_pkt, /, *, StructureSize=48, NotificationType=3, ResourceNameBufferOffset=None, ResourceNameLen=None, Reserved=0, TargetType=0, IPAddrCount=None, IPAddrMoveList=[], Buffer=[])[source]

Bases: _NTLMPayloadPacket

aliastypes = [<class 'scapy.layers.smb2.SMB2_Error_Share_Redirect_Context_Response'>, <class 'scapy.layers.ntlm._NTLMPayloadPacket'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEIntField (SMB2_Error_Share_Redirect_Context_Response).StructureSize>, <LEIntEnumField (SMB2_Error_Share_Redirect_Context_Response).NotificationType>, <XLEIntField (SMB2_Error_Share_Redirect_Context_Response).ResourceNameBufferOffset>, <LEIntField (SMB2_Error_Share_Redirect_Context_Response).ResourceNameLen>, <ShortField (SMB2_Error_Share_Redirect_Context_Response).Reserved>, <ShortEnumField (SMB2_Error_Share_Redirect_Context_Response).TargetType>, <FieldLenField (SMB2_Error_Share_Redirect_Context_Response).IPAddrCount>, <PacketListField (SMB2_Error_Share_Redirect_Context_Response).IPAddrMoveList>, <_NTLMPayloadField (SMB2_Error_Share_Redirect_Context_Response).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_FILEID(_pkt, /, *, Persistent=0, Volatile=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_FILEID'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLELongField (SMB2_FILEID).Persistent>, <XLELongField (SMB2_FILEID).Volatile>]
class scapy.layers.smb2.SMB2_Header(_pkt, /, *, Start=b'\xfeSMB', StructureSize=64, CreditCharge=0, Status=0, Command=0, CreditRequest=0, Flags=<Flag 0 ()>, NextCommand=0, MID=0, AsyncId=0, PID=0, TID=0, SessionId=0, SecuritySignature=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Header'>, <class 'scapy.packet.Packet'>]
encrypt(dialect, EncryptionKey, CipherId)[source]

[MS-SMB2] sect 3.1.4.3 - Encrypting the Message

fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (SMB2_Header).Start>, <LEShortField (SMB2_Header).StructureSize>, <LEShortField (SMB2_Header).CreditCharge>, <LEIntEnumField (SMB2_Header).Status>, <LEShortEnumField (SMB2_Header).Command>, <LEShortField (SMB2_Header).CreditRequest>, <FlagsField (SMB2_Header).Flags>, <XLEIntField (SMB2_Header).NextCommand>, <LELongField (SMB2_Header).MID>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <LELongField (SMB2_Header).SessionId>, <XStrFixedLenField (SMB2_Header).SecuritySignature>]
guess_payload_class(payload)[source]
sign(dialect, SigningSessionKey, SigningAlgorithmId=None, IsClient=None)[source]

[MS-SMB2] 3.1.4.1 - Signing An Outgoing Message

verify(dialect, SigningSessionKey, SigningAlgorithmId=None, IsClient=None)[source]

[MS-SMB2] sect 3.2.5.1.3 - Verifying the signature

class scapy.layers.smb2.SMB2_IOCTL_Network_Interface_Info(_pkt, /, *, interfaces=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_IOCTL_Network_Interface_Info'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<_NextPacketListField (SMB2_IOCTL_Network_Interface_Info).interfaces>]
class scapy.layers.smb2.SMB2_IOCTL_OFFLOAD_READ_Request(_pkt, /, *, StructureSize=32, Flags=0, TokenTimeToLive=0, Reserved=0, FileOffset=0, CopyLength=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_IOCTL_OFFLOAD_READ_Request'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (SMB2_IOCTL_OFFLOAD_READ_Request).StructureSize>, <LEIntField (SMB2_IOCTL_OFFLOAD_READ_Request).Flags>, <LEIntField (SMB2_IOCTL_OFFLOAD_READ_Request).TokenTimeToLive>, <LEIntField (SMB2_IOCTL_OFFLOAD_READ_Request).Reserved>, <LELongField (SMB2_IOCTL_OFFLOAD_READ_Request).FileOffset>, <LELongField (SMB2_IOCTL_OFFLOAD_READ_Request).CopyLength>]
class scapy.layers.smb2.SMB2_IOCTL_OFFLOAD_READ_Response(_pkt, /, *, StructureSize=528, Flags=<Flag 0 ()>, TransferLength=0, Token=<STORAGE_OFFLOAD_TOKEN  |>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_IOCTL_OFFLOAD_READ_Response'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntField (SMB2_IOCTL_OFFLOAD_READ_Response).StructureSize>, <FlagsField (SMB2_IOCTL_OFFLOAD_READ_Response).Flags>, <LELongField (SMB2_IOCTL_OFFLOAD_READ_Response).TransferLength>, <PacketField (SMB2_IOCTL_OFFLOAD_READ_Response).Token>]
class scapy.layers.smb2.SMB2_IOCTL_REQ_GET_DFS_Referral(_pkt, /, *, MaxReferralLevel=0, RequestFileName=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_IOCTL_REQ_GET_DFS_Referral'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (SMB2_IOCTL_REQ_GET_DFS_Referral).MaxReferralLevel>, <StrNullFieldUtf16 (SMB2_IOCTL_REQ_GET_DFS_Referral).RequestFileName>]
class scapy.layers.smb2.SMB2_IOCTL_RESP_GET_DFS_Referral(_pkt, /, *, PathConsumed=0, NumberOfReferrals=None, ReferralHeaderFlags=<Flag 0 ()>, ReferralEntries=[], ReferralBuffer=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_IOCTL_RESP_GET_DFS_Referral'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (SMB2_IOCTL_RESP_GET_DFS_Referral).PathConsumed>, <FieldLenField (SMB2_IOCTL_RESP_GET_DFS_Referral).NumberOfReferrals>, <FlagsField (SMB2_IOCTL_RESP_GET_DFS_Referral).ReferralHeaderFlags>, <PacketListField (SMB2_IOCTL_RESP_GET_DFS_Referral).ReferralEntries>, <_DFS_Referrals_BufferField (SMB2_IOCTL_RESP_GET_DFS_Referral).ReferralBuffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_IOCTL_Request(_pkt, /, *, StructureSize=57, Reserved=0, CtlCode=0, FileId=<SMB2_FILEID  |>, InputBufferOffset=None, InputLen=None, MaxInputResponse=0, OutputBufferOffset=None, OutputLen=None, MaxOutputResponse=65535, Flags=<Flag 0 ()>, Reserved2=0, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 11
OFFSET = 120
aliastypes = [<class 'scapy.layers.smb2.SMB2_IOCTL_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
deprecated_fields: Dict[str, Tuple[str, str]] = {'IntputCount': ('InputLen', 'alias'), 'OutputCount': ('OutputLen', 'alias')}
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).StructureSize>, <LEShortField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).Reserved>, <LEIntEnumField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).CtlCode>, <PacketField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).FileId>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).InputBufferOffset>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).InputLen>, <LEIntField (SMB2_IOCTL_Request).MaxInputResponse>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).OutputBufferOffset>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).OutputLen>, <LEIntField (SMB2_IOCTL_Request).MaxOutputResponse>, <FlagsField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).Flags>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).Reserved2>, <_NTLMPayloadField (SMB2_IOCTL_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_IOCTL_Response(_pkt, /, *, StructureSize=49, Reserved=0, CtlCode=0, FileId=<SMB2_FILEID  |>, InputBufferOffset=None, InputLen=None, OutputBufferOffset=None, OutputLen=None, Flags=<Flag 0 ()>, Reserved2=0, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 11
MaxOutputResponse = 0
OFFSET = 112
aliastypes = [<class 'scapy.layers.smb2.SMB2_IOCTL_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).StructureSize>, <LEShortField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).Reserved>, <LEIntEnumField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).CtlCode>, <PacketField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).FileId>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).InputBufferOffset>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).InputLen>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).OutputBufferOffset>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).OutputLen>, <FlagsField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).Flags>, <LEIntField (SMB2_IOCTL_Request,SMB2_IOCTL_Response).Reserved2>, <_NTLMPayloadField (SMB2_IOCTL_Response).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_IOCTL_Validate_Negotiate_Info_Request(_pkt, /, *, Capabilities=<Flag 0 ()>, ClientGUID=UUID('00000000-0000-0000-0000-000000000000'), SecurityMode=<Flag 0 ()>, DialectCount=None, Dialects=[514])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_IOCTL_Validate_Negotiate_Info_Request'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).Capabilities>, <UUIDField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).ClientGUID>, <FlagsField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).SecurityMode>, <FieldLenField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).DialectCount>, <FieldListField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).Dialects>]
class scapy.layers.smb2.SMB2_IOCTL_Validate_Negotiate_Info_Response(_pkt, /, *, Capabilities=<Flag 0 ()>, GUID=UUID('00000000-0000-0000-0000-000000000000'), SecurityMode=<Flag 0 ()>, DialectRevision=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_IOCTL_Validate_Negotiate_Info_Response'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (SMB2_Negotiate_Protocol_Response,SMB2_IOCTL_Validate_Negotiate_Info_Response).Capabilities>, <UUIDField (SMB2_Negotiate_Protocol_Response,SMB2_IOCTL_Validate_Negotiate_Info_Response).GUID>, <FlagsField (SMB2_Negotiate_Protocol_Response,SMB2_IOCTL_Validate_Negotiate_Info_Response).SecurityMode>, <LEShortEnumField (SMB2_Negotiate_Protocol_Response,SMB2_IOCTL_Validate_Negotiate_Info_Response).DialectRevision>]
class scapy.layers.smb2.SMB2_Negotiate_Context(_pkt, /, *, ContextType=0, DataLength=None, Reserved=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Negotiate_Context'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortEnumField (SMB2_Negotiate_Context).ContextType>, <LenField (SMB2_Negotiate_Context).DataLength>, <IntField (SMB2_Negotiate_Context).Reserved>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'ContextType': 1}, <class 'scapy.layers.smb2.SMB2_Preauth_Integrity_Capabilities'>), ({'ContextType': 2}, <class 'scapy.layers.smb2.SMB2_Encryption_Capabilities'>), ({'ContextType': 3}, <class 'scapy.layers.smb2.SMB2_Compression_Capabilities'>), ({'ContextType': 5}, <class 'scapy.layers.smb2.SMB2_Netname_Negotiate_Context_ID'>), ({'ContextType': 6}, <class 'scapy.layers.smb2.SMB2_Transport_Capabilities'>), ({'ContextType': 7}, <class 'scapy.layers.smb2.SMB2_RDMA_Transform_Capabilities'>), ({'ContextType': 8}, <class 'scapy.layers.smb2.SMB2_Signing_Capabilities'>)]
class scapy.layers.smb2.SMB2_Negotiate_Protocol_Request(_pkt, /, *, StructureSize=36, DialectCount=None, SecurityMode=<Flag 0 ()>, Reserved=0, Capabilities=<Flag 0 ()>, ClientGUID=UUID('00000000-0000-0000-0000-000000000000'), NegotiateContextsBufferOffset=None, NegotiateContextsCount=None, Reserved2=0, Dialects=[514], Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 0
aliastypes = [<class 'scapy.layers.smb2.SMB2_Negotiate_Protocol_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Negotiate_Protocol_Request).StructureSize>, <FieldLenField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).DialectCount>, <FlagsField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).SecurityMode>, <LEShortField (SMB2_Negotiate_Protocol_Request).Reserved>, <FlagsField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).Capabilities>, <UUIDField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).ClientGUID>, <XLEIntField (SMB2_Negotiate_Protocol_Request).NegotiateContextsBufferOffset>, <LEShortField (SMB2_Negotiate_Protocol_Request).NegotiateContextsCount>, <ShortField (SMB2_Negotiate_Protocol_Request).Reserved2>, <FieldListField (SMB2_Negotiate_Protocol_Request,SMB2_IOCTL_Validate_Negotiate_Info_Request).Dialects>, <_NTLMPayloadField (SMB2_Negotiate_Protocol_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Negotiate_Protocol_Response(_pkt, /, *, StructureSize=65, SecurityMode=<Flag 0 ()>, DialectRevision=0, NegotiateContextsCount=None, GUID=UUID('00000000-0000-0000-0000-000000000000'), Capabilities=<Flag 0 ()>, MaxTransactionSize=65536, MaxReadSize=65536, MaxWriteSize=65536, ServerTime=None, ServerStartTime=None, SecurityBlobBufferOffset=None, SecurityBlobLen=None, NegotiateContextsBufferOffset=None, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 0
OFFSET = 128
aliastypes = [<class 'scapy.layers.smb2.SMB2_Negotiate_Protocol_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Negotiate_Protocol_Response).StructureSize>, <FlagsField (SMB2_Negotiate_Protocol_Response,SMB2_IOCTL_Validate_Negotiate_Info_Response).SecurityMode>, <LEShortEnumField (SMB2_Negotiate_Protocol_Response,SMB2_IOCTL_Validate_Negotiate_Info_Response).DialectRevision>, <LEShortField (SMB2_Negotiate_Protocol_Response).NegotiateContextsCount>, <UUIDField (SMB2_Negotiate_Protocol_Response,SMB2_IOCTL_Validate_Negotiate_Info_Response).GUID>, <FlagsField (SMB2_Negotiate_Protocol_Response,SMB2_IOCTL_Validate_Negotiate_Info_Response).Capabilities>, <LEIntField (SMB2_Negotiate_Protocol_Response).MaxTransactionSize>, <LEIntField (SMB2_Negotiate_Protocol_Response).MaxReadSize>, <LEIntField (SMB2_Negotiate_Protocol_Response).MaxWriteSize>, <UTCTimeField (SMB2_Negotiate_Protocol_Response).ServerTime>, <UTCTimeField (SMB2_Negotiate_Protocol_Response).ServerStartTime>, <XLEShortField (SMB2_Negotiate_Protocol_Response).SecurityBlobBufferOffset>, <LEShortField (SMB2_Negotiate_Protocol_Response).SecurityBlobLen>, <XLEIntField (SMB2_Negotiate_Protocol_Response).NegotiateContextsBufferOffset>, <_NTLMPayloadField (SMB2_Negotiate_Protocol_Response).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Netname_Negotiate_Context_ID(_pkt, /, *, NetName=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Netname_Negotiate_Context_ID'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrLenFieldUtf16 (SMB2_Netname_Negotiate_Context_ID).NetName>]
class scapy.layers.smb2.SMB2_Preauth_Integrity_Capabilities(_pkt, /, *, HashAlgorithmCount=None, SaltLength=None, HashAlgorithms=[1], Salt=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Preauth_Integrity_Capabilities'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (SMB2_Preauth_Integrity_Capabilities).HashAlgorithmCount>, <FieldLenField (SMB2_Preauth_Integrity_Capabilities).SaltLength>, <FieldListField (SMB2_Preauth_Integrity_Capabilities).HashAlgorithms>, <XStrLenField (SMB2_Preauth_Integrity_Capabilities).Salt>]
class scapy.layers.smb2.SMB2_Query_Directory_Request(_pkt, /, *, StructureSize=33, FileInformationClass=1, Flags=<Flag 0 ()>, FileIndex=0, FileId=<SMB2_FILEID  |>, FileNameBufferOffset=None, FileNameLen=None, OutputBufferLength=65535, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 14
OFFSET = 96
aliastypes = [<class 'scapy.layers.smb2.SMB2_Query_Directory_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Query_Directory_Request).StructureSize>, <ByteEnumField (SMB2_Query_Directory_Request).FileInformationClass>, <FlagsField (SMB2_Query_Directory_Request).Flags>, <LEIntField (SMB2_Query_Directory_Request).FileIndex>, <PacketField (SMB2_Query_Directory_Request).FileId>, <LEShortField (SMB2_Query_Directory_Request).FileNameBufferOffset>, <LEShortField (SMB2_Query_Directory_Request).FileNameLen>, <LEIntField (SMB2_Query_Directory_Request).OutputBufferLength>, <_NTLMPayloadField (SMB2_Query_Directory_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Query_Directory_Response(_pkt, /, *, StructureSize=9, OutputBufferOffset=None, OutputLen=None, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 14
OFFSET = 72
aliastypes = [<class 'scapy.layers.smb2.SMB2_Query_Directory_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Query_Directory_Response).StructureSize>, <LEShortField (SMB2_Query_Directory_Response).OutputBufferOffset>, <LEIntField (SMB2_Query_Directory_Response).OutputLen>, <_NTLMPayloadField (SMB2_Query_Directory_Response).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Query_Info_Request(_pkt, /, *, StructureSize=41, InfoType=0, FileInfoClass=0, OutputBufferLength=0, InputBufferOffset=None, InputLen=None, AdditionalInformation=<Flag 0 ()>, Flags=<Flag 0 ()>, FileId=<SMB2_FILEID  |>, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 16
OFFSET = 104
aliastypes = [<class 'scapy.layers.smb2.SMB2_Query_Info_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Query_Info_Request).StructureSize>, <ByteEnumField (SMB2_Query_Info_Request).InfoType>, <ByteEnumField (SMB2_Query_Info_Request).FileInfoClass>, <LEIntField (SMB2_Query_Info_Request).OutputBufferLength>, <XLEIntField (SMB2_Query_Info_Request).InputBufferOffset>, <LEIntField (SMB2_Query_Info_Request).InputLen>, <FlagsField (SMB2_Query_Info_Request).AdditionalInformation>, <FlagsField (SMB2_Query_Info_Request).Flags>, <PacketField (SMB2_Query_Info_Request).FileId>, <_NTLMPayloadField (SMB2_Query_Info_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Query_Info_Response(_pkt, /, *, StructureSize=9, OutputBufferOffset=None, OutputLen=None, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 16
OFFSET = 72
aliastypes = [<class 'scapy.layers.smb2.SMB2_Query_Info_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Query_Info_Response).StructureSize>, <LEShortField (SMB2_Query_Info_Response).OutputBufferOffset>, <LEIntField (SMB2_Query_Info_Response).OutputLen>, <_NTLMPayloadField (SMB2_Query_Info_Response).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Query_Quota_Info(_pkt, /, *, ReturnSingle=0, ReturnBoolean=0, Reserved=0, SidListLength=0, StartSidLength=0, StartSidOffset=0, pad=b'', SidBuffer=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Query_Quota_Info'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (SMB2_Query_Quota_Info).ReturnSingle>, <ByteField (SMB2_Query_Quota_Info).ReturnBoolean>, <ShortField (SMB2_Query_Quota_Info).Reserved>, <LEIntField (SMB2_Query_Quota_Info).SidListLength>, <LEIntField (SMB2_Query_Quota_Info).StartSidLength>, <LEIntField (SMB2_Query_Quota_Info).StartSidOffset>, <StrLenField (SMB2_Query_Quota_Info).pad>, <scapy.fields.MultipleTypeField object>]
class scapy.layers.smb2.SMB2_RDMA_Transform_Capabilities(_pkt, /, *, TransformCount=None, Reserved1=0, Reserved2=0, RDMATransformIds=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_RDMA_Transform_Capabilities'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (SMB2_RDMA_Transform_Capabilities).TransformCount>, <LEShortField (SMB2_RDMA_Transform_Capabilities).Reserved1>, <LEIntField (SMB2_RDMA_Transform_Capabilities).Reserved2>, <FieldListField (SMB2_RDMA_Transform_Capabilities).RDMATransformIds>]
class scapy.layers.smb2.SMB2_Read_Request(_pkt, /, *, StructureSize=49, Padding=0, Flags=<Flag 0 ()>, Length=4280, Offset=0, FileId=<SMB2_FILEID  |>, MinimumCount=0, Channel=0, RemainingBytes=0, ReadChannelInfoBufferOffset=None, ReadChannelInfoLen=None, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 8
OFFSET = 112
aliastypes = [<class 'scapy.layers.smb2.SMB2_Read_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Read_Request).StructureSize>, <ByteField (SMB2_Read_Request).Padding>, <FlagsField (SMB2_Read_Request).Flags>, <LEIntField (SMB2_Read_Request).Length>, <LELongField (SMB2_Read_Request).Offset>, <PacketField (SMB2_Read_Request).FileId>, <LEIntField (SMB2_Read_Request).MinimumCount>, <LEIntEnumField (SMB2_Read_Request).Channel>, <LEIntField (SMB2_Read_Request).RemainingBytes>, <LEShortField (SMB2_Read_Request).ReadChannelInfoBufferOffset>, <LEShortField (SMB2_Read_Request).ReadChannelInfoLen>, <_NTLMPayloadField (SMB2_Read_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Read_Response(_pkt, /, *, StructureSize=17, DataBufferOffset=None, DataLen=None, DataRemaining=0, Flags=<Flag 0 ()>, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 8
OFFSET = 80
aliastypes = [<class 'scapy.layers.smb2.SMB2_Read_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Read_Response).StructureSize>, <LEShortField (SMB2_Read_Response).DataBufferOffset>, <LEIntField (SMB2_Read_Response).DataLen>, <LEIntField (SMB2_Read_Response).DataRemaining>, <FlagsField (SMB2_Read_Response).Flags>, <_NTLMPayloadField (SMB2_Read_Response).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Session_Logoff_Request(_pkt, /, *, StructureSize=4, reserved=0)[source]

Bases: _SMB2_Payload

Command = 2
aliastypes = [<class 'scapy.layers.smb2.SMB2_Session_Logoff_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Session_Logoff_Request).StructureSize>, <ShortField (SMB2_Session_Logoff_Request).reserved>]
class scapy.layers.smb2.SMB2_Session_Logoff_Response(_pkt, /, *, StructureSize=4, reserved=0)[source]

Bases: _SMB2_Payload

Command = 2
aliastypes = [<class 'scapy.layers.smb2.SMB2_Session_Logoff_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Session_Logoff_Response).StructureSize>, <ShortField (SMB2_Session_Logoff_Response).reserved>]
class scapy.layers.smb2.SMB2_Session_Setup_Request(_pkt, /, *, StructureSize=25, Flags=<Flag 0 ()>, SecurityMode=<Flag 0 ()>, Capabilities=<Flag 0 ()>, Channel=0, SecurityBlobBufferOffset=None, SecurityBlobLen=None, PreviousSessionId=0, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 1
OFFSET = 88
aliastypes = [<class 'scapy.layers.smb2.SMB2_Session_Setup_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Session_Setup_Request).StructureSize>, <FlagsField (SMB2_Session_Setup_Request).Flags>, <FlagsField (SMB2_Session_Setup_Request).SecurityMode>, <FlagsField (SMB2_Session_Setup_Request).Capabilities>, <LEIntField (SMB2_Session_Setup_Request).Channel>, <XLEShortField (SMB2_Session_Setup_Request).SecurityBlobBufferOffset>, <LEShortField (SMB2_Session_Setup_Request).SecurityBlobLen>, <XLELongField (SMB2_Session_Setup_Request).PreviousSessionId>, <_NTLMPayloadField (SMB2_Session_Setup_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Session_Setup_Response(_pkt, /, *, StructureSize=9, SessionFlags=<Flag 0 ()>, SecurityBufferOffset=None, SecurityLen=None, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 1
OFFSET = 72
aliastypes = [<class 'scapy.layers.smb2.SMB2_Session_Setup_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Session_Setup_Response).StructureSize>, <FlagsField (SMB2_Session_Setup_Response).SessionFlags>, <XLEShortField (SMB2_Session_Setup_Response).SecurityBufferOffset>, <LEShortField (SMB2_Session_Setup_Response).SecurityLen>, <_NTLMPayloadField (SMB2_Session_Setup_Response).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
setfieldval(attr, val)[source]
class scapy.layers.smb2.SMB2_Set_Info_Request(_pkt, /, *, StructureSize=33, InfoType=0, FileInfoClass=0, DataLen=None, DataBufferOffset=None, AdditionalInformation=<Flag 0 ()>, FileId=<SMB2_FILEID  |>, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 17
OFFSET = 96
aliastypes = [<class 'scapy.layers.smb2.SMB2_Set_Info_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Set_Info_Request).StructureSize>, <ByteEnumField (SMB2_Set_Info_Request).InfoType>, <ByteEnumField (SMB2_Set_Info_Request).FileInfoClass>, <LEIntField (SMB2_Set_Info_Request).DataLen>, <XLEIntField (SMB2_Set_Info_Request).DataBufferOffset>, <FlagsField (SMB2_Set_Info_Request).AdditionalInformation>, <PacketField (SMB2_Set_Info_Request).FileId>, <_NTLMPayloadField (SMB2_Set_Info_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Set_Info_Response(_pkt, /, *, StructureSize=2)[source]

Bases: _SMB2_Payload

Command = 17
aliastypes = [<class 'scapy.layers.smb2.SMB2_Set_Info_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Set_Info_Response).StructureSize>]
class scapy.layers.smb2.SMB2_Signing_Capabilities(_pkt, /, *, SigningAlgorithmCount=None, SigningAlgorithms=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Signing_Capabilities'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (SMB2_Signing_Capabilities).SigningAlgorithmCount>, <FieldListField (SMB2_Signing_Capabilities).SigningAlgorithms>]
class scapy.layers.smb2.SMB2_Transform_Header(_pkt, /, *, Start=b'\xfdSMB', Signature=0, Nonce=b'', OriginalMessageSize=0, Reserved=0, Flags=1, SessionId=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Transform_Header'>, <class 'scapy.packet.Packet'>]
decrypt(dialect, DecryptionKey, CipherId)[source]

[MS-SMB2] sect 3.2.5.1.1.1 - Decrypting the Message

fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (SMB2_Transform_Header).Start>, <XStrFixedLenField (SMB2_Transform_Header).Signature>, <XStrFixedLenField (SMB2_Transform_Header).Nonce>, <LEIntField (SMB2_Transform_Header).OriginalMessageSize>, <LEShortField (SMB2_Transform_Header).Reserved>, <LEShortEnumField (SMB2_Transform_Header).Flags>, <LELongField (SMB2_Transform_Header).SessionId>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({}, <class 'scapy.packet.Raw'>)]
class scapy.layers.smb2.SMB2_Transport_Capabilities(_pkt, /, *, Flags=<Flag 0 ()>)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SMB2_Transport_Capabilities'>, <class 'scapy.packet.Packet'>]
default_payload_class(payload)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (SMB2_Transport_Capabilities).Flags>]
class scapy.layers.smb2.SMB2_Tree_Connect_Request(_pkt, /, *, StructureSize=9, Flags=<Flag 0 ()>, PathBufferOffset=None, PathLen=None, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 3
OFFSET = 72
aliastypes = [<class 'scapy.layers.smb2.SMB2_Tree_Connect_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Tree_Connect_Request).StructureSize>, <FlagsField (SMB2_Tree_Connect_Request).Flags>, <XLEShortField (SMB2_Tree_Connect_Request).PathBufferOffset>, <LEShortField (SMB2_Tree_Connect_Request).PathLen>, <_NTLMPayloadField (SMB2_Tree_Connect_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Tree_Connect_Response(_pkt, /, *, StructureSize=16, ShareType=0, Reserved=0, ShareFlags=<Flag 48 (AUTO_CACHING+NO_CACHING)>, Capabilities=<Flag 0 ()>, MaximalAccess=<Flag 0 ()>)[source]

Bases: _SMB2_Payload

Command = 3
aliastypes = [<class 'scapy.layers.smb2.SMB2_Tree_Connect_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Tree_Connect_Response).StructureSize>, <ByteEnumField (SMB2_Tree_Connect_Response).ShareType>, <ByteField (SMB2_Tree_Connect_Response).Reserved>, <FlagsField (SMB2_Tree_Connect_Response).ShareFlags>, <FlagsField (SMB2_Tree_Connect_Response).Capabilities>, <FlagsField (SMB2_Tree_Connect_Response).MaximalAccess>]
class scapy.layers.smb2.SMB2_Tree_Disconnect_Request(_pkt, /, *, StructureSize=4, Reserved=0)[source]

Bases: _SMB2_Payload

Command = 4
aliastypes = [<class 'scapy.layers.smb2.SMB2_Tree_Disconnect_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Tree_Disconnect_Request).StructureSize>, <XLEShortField (SMB2_Tree_Disconnect_Request).Reserved>]
class scapy.layers.smb2.SMB2_Tree_Disconnect_Response(_pkt, /, *, StructureSize=4, Reserved=0)[source]

Bases: _SMB2_Payload

Command = 4
aliastypes = [<class 'scapy.layers.smb2.SMB2_Tree_Disconnect_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Tree_Disconnect_Response).StructureSize>, <XLEShortField (SMB2_Tree_Disconnect_Response).Reserved>]
class scapy.layers.smb2.SMB2_Write_Request(_pkt, /, *, StructureSize=49, DataBufferOffset=None, DataLen=None, Offset=0, FileId=<SMB2_FILEID  |>, Channel=0, RemainingBytes=0, WriteChannelInfoBufferOffset=None, WriteChannelInfoLen=None, Flags=<Flag 0 ()>, Buffer=[])[source]

Bases: _SMB2_Payload, _NTLMPayloadPacket

Command = 9
OFFSET = 112
aliastypes = [<class 'scapy.layers.smb2.SMB2_Write_Request'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Write_Request).StructureSize>, <LEShortField (SMB2_Write_Request).DataBufferOffset>, <LEIntField (SMB2_Write_Request).DataLen>, <LELongField (SMB2_Write_Request).Offset>, <PacketField (SMB2_Write_Request).FileId>, <LEIntEnumField (SMB2_Write_Request).Channel>, <LEIntField (SMB2_Write_Request).RemainingBytes>, <LEShortField (SMB2_Write_Request).WriteChannelInfoBufferOffset>, <LEShortField (SMB2_Write_Request).WriteChannelInfoLen>, <FlagsField (SMB2_Write_Request).Flags>, <_NTLMPayloadField (SMB2_Write_Request).Buffer>]
post_build(pkt: bytes, pay: bytes) bytes[source]
class scapy.layers.smb2.SMB2_Write_Response(_pkt, /, *, StructureSize=17, Reserved=0, Count=0, Remaining=0, WriteChannelInfoBufferOffset=0, WriteChannelInfoLen=0)[source]

Bases: _SMB2_Payload

Command = 9
aliastypes = [<class 'scapy.layers.smb2.SMB2_Write_Response'>, <class 'scapy.layers.smb2._SMB2_Payload'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (SMB2_Write_Response).StructureSize>, <LEShortField (SMB2_Write_Response).Reserved>, <LEIntField (SMB2_Write_Response).Count>, <LEIntField (SMB2_Write_Response).Remaining>, <LEShortField (SMB2_Write_Response).WriteChannelInfoBufferOffset>, <LEShortField (SMB2_Write_Response).WriteChannelInfoLen>]
scapy.layers.smb2.SMB2computePreauthIntegrityHashValue(PreauthIntegrityHashValue, s, HashId='SHA-512')[source]

Update the PreauthIntegrityHashValue

class scapy.layers.smb2.SMBSession(*args, **kwargs)[source]

Bases: DefaultSession

A SMB session within a TCP socket.

computeSMBConnectionPreauth(*negopkts)[source]
computeSMBSessionKeys(**kwargs: Any) Any[source]
computeSMBSessionPreauth(*sesspkts)[source]
in_pkt(pkt)[source]

Incoming SMB packet

out_pkt(pkt, Compounded=False, ForceSign=False, ForceEncrypt=False)[source]

Outgoing SMB packet

Parameters:
  • pkt – the packet to send

  • Compound – if True, will be stack to be send with the next un-compounded packet

  • ForceSign – if True, force to sign the packet.

  • ForceEncrypt – if True, force to encrypt the packet.

Handles:
  • handle compounded requests (if any): [MS-SMB2] 3.3.5.2.7

  • handles signing and encryption (if required)

process(pkt: Packet)[source]
class scapy.layers.smb2.SMBStreamSocket(*args, **kwargs)[source]

Bases: StreamSocket

A modified StreamSocket to dissect SMB compounded requests [MS-SMB2] 3.3.5.2.7

recv(x=None)[source]
static select(sockets, remain=0.05)[source]
send(x, Compounded=False, ForceSign=False, ForceEncrypt=False, **kwargs)[source]
class scapy.layers.smb2.SOCKADDR_STORAGE(_pkt, /, *, Family=2, Port=0, IPv4Adddress=None, Reserved=b'', FlowInfo=0, IPv6Address=None, ScopeId=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.SOCKADDR_STORAGE'>, <class 'scapy.packet.Packet'>]
default_payload_class(_)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortEnumField (SOCKADDR_STORAGE).Family>, <ShortField (SOCKADDR_STORAGE).Port>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.layers.smb2.STORAGE_OFFLOAD_TOKEN(_pkt, /, *, TokenType=4294901761, Reserved=0, TokenIdLength=None, TokenId=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.layers.smb2.STORAGE_OFFLOAD_TOKEN'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEIntEnumField (STORAGE_OFFLOAD_TOKEN).TokenType>, <LEShortField (STORAGE_OFFLOAD_TOKEN).Reserved>, <FieldLenField (STORAGE_OFFLOAD_TOKEN).TokenIdLength>, <StrFixedLenField (STORAGE_OFFLOAD_TOKEN).TokenId>]