MCPcopy Index your code
hub / github.com/secdev/scapy / SMB2_Read_Request

Class SMB2_Read_Request

scapy/layers/smb2.py:3338–3400  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3336
3337
3338class SMB2_Read_Request(_SMB2_Payload, _NTLMPayloadPacket):
3339 name = "SMB2 READ Request"
3340 Command = 0x0008
3341 OFFSET = 48 + 64
3342 _NTLM_PAYLOAD_FIELD_NAME = "Buffer"
3343 fields_desc = [
3344 XLEShortField("StructureSize", 0x31),
3345 ByteField("Padding", 0x00),
3346 FlagsField(
3347 "Flags",
3348 0,
3349 -8,
3350 {
3351 0x01: "SMB2_READFLAG_READ_UNBUFFERED",
3352 0x02: "SMB2_READFLAG_REQUEST_COMPRESSED",
3353 },
3354 ),
3355 LEIntField("Length", 4280),
3356 LELongField("Offset", 0),
3357 PacketField("FileId", SMB2_FILEID(), SMB2_FILEID),
3358 LEIntField("MinimumCount", 0),
3359 LEIntEnumField(
3360 "Channel",
3361 0,
3362 {
3363 0x00000000: "SMB2_CHANNEL_NONE",
3364 0x00000001: "SMB2_CHANNEL_RDMA_V1",
3365 0x00000002: "SMB2_CHANNEL_RDMA_V1_INVALIDATE",
3366 0x00000003: "SMB2_CHANNEL_RDMA_TRANSFORM",
3367 },
3368 ),
3369 LEIntField("RemainingBytes", 0),
3370 LEShortField("ReadChannelInfoBufferOffset", None),
3371 LEShortField("ReadChannelInfoLen", None),
3372 _NTLMPayloadField(
3373 "Buffer",
3374 OFFSET,
3375 [
3376 StrLenField(
3377 "ReadChannelInfo",
3378 b"",
3379 length_from=lambda pkt: pkt.ReadChannelInfoLen,
3380 )
3381 ],
3382 ),
3383 ]
3384
3385 def post_build(self, pkt, pay):
3386 # type: (bytes, bytes) -> bytes
3387 if len(pkt) == 0x30:
3388 # 'The first byte of the Buffer field MUST be set to 0.'
3389 pkt += b"\x00"
3390 return (
3391 _SMB2_post_build(
3392 self,
3393 pkt,
3394 self.OFFSET,
3395 {

Callers 2

read_requestMethod · 0.90
sendMethod · 0.90

Calls 11

XLEShortFieldClass · 0.90
ByteFieldClass · 0.90
FlagsFieldClass · 0.90
LEIntFieldClass · 0.90
LELongFieldClass · 0.90
PacketFieldClass · 0.90
LEIntEnumFieldClass · 0.90
LEShortFieldClass · 0.90
_NTLMPayloadFieldClass · 0.90
StrLenFieldClass · 0.90
SMB2_FILEIDClass · 0.85

Tested by

no test coverage detected