FTP(File Transfer Protocol)文本传输协议
工作机制:C/S机构,并且是基于双通道协议,通过建立2个tcp连接来实现C/S的命令连接和数据的传输
命令连接的tcp(C ---> S) 端口号Server:21,Client:随机
数据传输的tcp 根据Server不同模式而有不同的端口号(需要注意的是,Server的不同模式是由Client的命令决定的)
FTP的数据传输为两种模式:
第一种:Server主动连接(S ---> C),称为 PORT style
在此模式下,S默认开启tcp:20的端口号进行传输数据给C的tcp随机端口
此模式可能会因为C防火墙的存在而导致数据传输失败
第二种:Server被动连接(C ---> S),称为PASV style(一般为默认)
在此模式下,C和S的tcp都是开启随机端口,S的随机端口在命令连接时发送消息给C,通过计算得出S的随机端口号,计算方法如下:
227 Entering “数据连接模式” Mode (IP_ADDRESS,Num1,Num2)
随机端口号=256*Num1+Num2
此模式下,C的防火墙不会影响数据的得到,但是S的防火墙却会阻碍C发来的请求数据消息
(这两种模式中,C的随机端口在建立命令连接tcp时已发给S)
(介于防火墙的存在,因而FTP服务更多的是应用于内部局域网)
(命令连接tcp端口一直连接,数据连接tcp端口传完数据就断开)
FTP服务器目前使用的是vsftpd软件服务
FTP客户端经常使用的工具有如下几种:
交互式ftp、lftp
lftpget、wget(可直接下载数据),格式示例:lftpget ftp://FTP_SERVER_IP/PATH/TO/FILE
filezilla(图形化界面)
FTP服务的用户认证:
匿名用户:ftp、anonymous(不需要输密码,命令行输入这两个用户就可以直接访问,图形化界面都可省略不输入)
系统用户:Linux的用