FTP服务
FTP (File transfer protocol) 是传输协议之一,他最主要的功能是在服务器与客户端之间进行档案的传输。
vsftpd软件包:“very secure”的FTP服务器软件
ftp端口号
主动模式:消息端口21,数据端口20
被动模式:消息端口21,数据端口随机
ftp的工作原理
建立连接:
客户端发送连接请求,同时打开一个大于 1024 的端口,比如 1031 端口,若 FTP 服务器侦听到该请求,则会在 1031 端口和 FTP 的 21 端口之间建立起一个 FTP 会话连接。
传输数据:
当需要传输数据时,客户端再动态的打开一个大于 1024 的端口连接到 FTP 得 20 端口,并在这个两个端口之间进行数据传输。
FTP 协议中,控制连接均有客户端发起,而数据连接有两种工作方式:
PORT 主动方式和PASV 被动方式
主动
client ?????????????server
1024+ ---------------> 21
1024+N
客户端使用1024 以上的端口连接服务器的21 号端口,并且会事先开启一个1024+N 的端口准备让服务器来连接,服务器得知客户端准备的端口后,用20 号端口与客户端连接,创建数据链路时server 端处于主动去连接客户端的状态固称为主动传输模式
被动
client ??????????????server
1024+ ---------------> 21 1024+M
1024+
1024+N --------------->1024+M
客户端使用1024 以上的端口连接服务器的21 号端口,服务器接到连接请求后,开启一个1024+M 的端口等待客户端来连接,再通知客户端这个等待连接的端口号是1024+M,客户端接到服务器端的信息后,开启新的一个1024+N 的端口与1024+M 进行连接,创建数据连接时,server 端处于被客户端连接的状态,固称为被动传输模式.
vsftp 默认是根据客户端不同而使用不同模式,windows 客户端则使用主动,linux 客户端则使用被动
可以用 pasv_enable=NO 来强制使用主动