Class SMB2Packet

All Implemented Interfaces:
Packet<SMBBuffer>
Direct Known Subclasses:
PacketEncryptor.EncryptedPacketWrapper, PacketSignatory.SignedPacketWrapper, SMB2Cancel, SMB2ChangeNotifyResponse, SMB2Close, SMB2CreateRequest, SMB2CreateResponse, SMB2Echo, SMB2Flush, SMB2IoctlResponse, SMB2LockRequest, SMB2LockResponse, SMB2Logoff, SMB2MultiCreditPacket, SMB2NegotiateRequest, SMB2NegotiateResponse, SMB2QueryDirectoryResponse, SMB2QueryInfoRequest, SMB2QueryInfoResponse, SMB2ReadResponse, SMB2SessionSetup, SMB2SetInfoRequest, SMB2SetInfoResponse, SMB2TreeConnectRequest, SMB2TreeConnectResponse, SMB2TreeDisconnect, SMB2WriteResponse

public class SMB2Packet extends SMBPacket<SMB2PacketData,SMB2PacketHeader>
  • Field Details

    • SINGLE_CREDIT_PAYLOAD_SIZE

      public static final int SINGLE_CREDIT_PAYLOAD_SIZE
      See Also:
    • structureSize

      protected int structureSize
    • error

      private SMB2Error error
  • Constructor Details

  • Method Details

    • getSequenceNumber

      public long getSequenceNumber()
    • getStructureSize

      public int getStructureSize()
    • getBuffer

      public SMBBuffer getBuffer()
      The buffer from which this packet is read if it was a received packet
      Overrides:
      getBuffer in class SMBPacket<SMB2PacketData,SMB2PacketHeader>
      Returns:
      The buffer
    • write

      public void write(SMBBuffer buffer)
    • writeTo

      protected void writeTo(SMBBuffer buffer)
      Write the message fields into the buffer, as specified in the [MS-SMB2] specification.
      Parameters:
      buffer -
    • read

      protected final void read(SMB2PacketData packetData) throws Buffer.BufferException
      Specified by:
      read in class SMBPacket<SMB2PacketData,SMB2PacketHeader>
      Throws:
      Buffer.BufferException
    • readError

      final void readError(SMB2PacketData packetData) throws Buffer.BufferException
      Throws:
      Buffer.BufferException
    • readMessage

      protected void readMessage(SMBBuffer buffer) throws Buffer.BufferException
      Read the packet body, this should be implemented by the various packet types.
      Parameters:
      buffer -
      Throws:
      Buffer.BufferException
    • isSuccess

      public final boolean isSuccess()
      Whether this packet contains a success response or an error response
      Returns:
      true if the packet does not contain error data
    • isIntermediateAsyncResponse

      public boolean isIntermediateAsyncResponse()
      Check whether this packet is an intermediate ASYNC response
    • getMaxPayloadSize

      public int getMaxPayloadSize()
      Returns the maximum payload size of this packet. Normally this is the SINGLE_CREDIT_PAYLOAD_SIZE. Can be overridden in subclasses to support multi-credit messages.
      Returns:
    • getCreditsAssigned

      public int getCreditsAssigned()
    • setCreditsAssigned

      public void setCreditsAssigned(int creditsAssigned)
    • getError

      public SMB2Error getError()
    • setError

      public void setError(SMB2Error error)
    • getPacket

      public SMB2Packet getPacket()
      Method that can be overridden by Packet Wrappers to ensure that the original (typed) packet is obtainable.
      Returns:
      this
    • toString

      public String toString()
      Overrides:
      toString in class Object