千年之恋
sftp v3版本协议

v3

包结构定义

uint32 length
byte type
byte[length - 1] data payload

协议初始化

# SSH_FXP_INIT 类型数据
uint32 version
<extension data>
# SSH_FXP_VERSION 类型数据
uint32 version
<extension data>

打开文件

# SSH_FXP_OPEN 打开文件
uint32 id #请求标识
string filename
uint32 pflags
ATTRS attrs

# SSH_FXP_CLOSE 关闭文件
uint32 id
string handle

编码定义

 #define SSH_FXP_INIT 1
 #define SSH_FXP_VERSION 2
 #define SSH_FXP_OPEN 3
 #define SSH_FXP_CLOSE 4
 #define SSH_FXP_READ 5
 #define SSH_FXP_WRITE 6
 #define SSH_FXP_LSTAT 7
 #define SSH_FXP_FSTAT 8
 #define SSH_FXP_SETSTAT 9
 #define SSH_FXP_FSETSTAT 10
 #define SSH_FXP_OPENDIR 11
 #define SSH_FXP_READDIR 12
 #define SSH_FXP_REMOVE 13
 #define SSH_FXP_MKDIR 14
 #define SSH_FXP_RMDIR 15
 #define SSH_FXP_REALPATH 16
 #define SSH_FXP_STAT 17
 #define SSH_FXP_RENAME 18
 #define SSH_FXP_READLINK 19
 #define SSH_FXP_SYMLINK 20
 #define SSH_FXP_STATUS 101
 #define SSH_FXP_HANDLE 102
 #define SSH_FXP_DATA 103
 #define SSH_FXP_NAME 104
 #define SSH_FXP_ATTRS 105
 #define SSH_FXP_EXTENDED 200
 #define SSH_FXP_EXTENDED_REPLY 201

参考网站