[cifs-protocol] SMB2 ECHO request

Andreas Schneider asn at samba.org
Tue Jul 25 15:34:16 UTC 2017

Hello dochelp,

The documentation currently state:

2.2.28 SMB2 ECHO Request

The SMB2 ECHO Request packet is sent by a client to determine whether a server 
is processing requests. This request is composed of an SMB2 header, as 
specified in section 2.2.1, followed by this request structure:

StructureSize | Reserved | StructureSize (2 bytes): The client MUST set this 
to 4, indicating the size of the request structure, not including the header.
Reserved (2 bytes): This field MUST NOT be used and MUST be reserved. The 
client MUST set this to 0, and the server MUST ignore it on receipt.


~~~~~~~~~~~~~ SMB2 Packet Header - ASYNC

SessionId (8 bytes): Uniquely identifies the established session for the 
command. This field MUST be set to 0 for an SMB2 NEGOTIATE Request (section 
2.2.3) and for an SMB2 NEGOTIATE Response (section 2.2.4).

Is it allowed to set the sessionID to 0 for an SMB2 ECHO request too? It looks 
like Windows allows this.

In addition to the above question, if the client receives an error in the SMB2 
the client terminate the connection to the SMB server?

Could you please clarify?

Thank you very much for your help.



Andreas Schneider                   GPG-ID: CC014E3D
Samba Team                             asn at samba.org

More information about the cifs-protocol mailing list