文章目录
1.被动模式,PASV模式下的传输
- FTP的被动模式
见:word文档1.8FTP两种工作模式中的1.8.2被动模式 - ctrl + r,客户端发起一个LIST命令
由于在发送LIST之前,没有发送PORT或者PASV,所以给客户端一个425的应答,这样客户端就不会阻塞了。
- PASV模式需要实现的功能如下:
- eg:见git
ftpproto.c
static void do_pasv(session_t *sess)
int get_transfer_fd(session_t *sess)
int pasv_active(session_t *sess)
int port_active(session_t *sess)
session.h
其他文件未改变
- 测试:被动模式PASV发送给服务器端之后,服务端回复一个227的应答(以及服务端的ip和监听的端口),然后客户端向服务器端发送了一个LIST命令,然后创建数据socket,创建完毕后,给客户端一个150的应答,然后进行列表传输,列表传输完毕后关闭socket,再给客户端一个226的应答