文章目录
1.主动模式,PORT模式下的数据传输
-
FTP的主动模式
见:word文档1.8FTP两种工作模式中的1.8.1主动模式 -
客户端阻塞在port命令下,需要实现
客户端PORT模式的配置选择
说明:
PORT模式,发送给服务器端一个客户端的ip和端口号,服务器端收到后暂存ip和地址信息,然后给客户端一个200的应答,客户端收到200的应答后,会给服务器端发送真正的传输命令LIST,一旦服务器端接收到后,会调用do_list函数,首先会使用PORT模式来创建数据连接通道,一旦数据连接通道创建完毕,会给客户端一个150的应答,然后开始数据列表的传输,数据列表传输完毕后,并将数据连接的socket关闭掉,并且发送一个226的应答,表示传输完毕了
参考vsftpd的port方式
-
eg:见gitee
改变的文件:
ftpproto.c
do_port
do_list
中的相关函数
main.c
sysutil.c
session.h
其他文件未改变
- 测试:客户端
服务端