This request is used to test the connection to the server, and to see if the server is still responding.
Client Request ================================== |
Description ================================= |
UCHAR WordCount; | Count of parameter words = 1 |
USHORT EchoCount; | Number of times to echo data back |
USHORT ByteCount; | Count of data bytes; min = 1 |
UCHAR Buffer[1]; | Data to echo |
Server Response ================================== |
Description ================================= |
UCHAR WordCount; | Count of parameter words = 1 |
USHORT SequenceNumber; | Sequence number of this echo |
USHORT ByteCount; | Count of data bytes; min = 4 |
UCHAR Buffer[1]; | Echoed data |
Each response echoes the data sent, though ByteCount may indicate no data If EchoCount is zero, no response is sent.
Tid in the SMB header is ignored, so this request may be sent to the server even if there are no valid tree connections to the server.
The flow for the ECHO protocol is:
Client Request ================================= |
<-> ==== |
Server Response ============================ |
Echo Request (EchoCount == n) | -> |
|
<- |
Echo Response 1 | |
<- |
Echo Response 2 | |
<- |
Echo Response n |
ERRSRV/ERRbaduid - UID was invalid
ERRSRV/ERRnoaccess - session has not been established
ERRSRV/ERRnosupport - ECHO function is not supported