FTP(File Transfer Protocol) 文件传输协议
端口:
TCP 21
TCP 20
连接:
命令连接:
控制链接,不指定超时时间一直在线。
监听在TCP 21端口
数据连接:
按需打开,按需关闭。客户端发起请求时才打开连接,完成传输后关闭。
主动模式在20端口,被动模式不确定。
主动模式(PORT模式):
服务器端用20号端口主动连接客户端。
1.客户端通过A端口连接到服务器端的21号端口发送请求。
2.服务器端通过20号端口连接客户端的A+1端口进行数据传输。若端口被占用则使用A+1,以此类推。
Client A --> Server 21
Server 20 --> Client A+1(端口若被占用则自动+1)
缺点:服务端的请求会被客户端防火墙拦截。造成传输失败。
被动模式(PSAV模式):
1.客户端通过A端口连接到服务器的21号端口发送请求。同时打开A+1端口。
2.服务器端通过21号端口发送响应请求给给客户端的A端口,告知客户端连接服务器端的B端口进行数据传输。请求中的部分内容为XY,B=X*256+Y。
3.客户端通过A+1号端口连接服务器端的B端口,完成数据传送。
Client A --> Server 21
Server 21 --> Client A+1(连接Server的B端口)
Client A+1 --> Server B
缺点:客户端的请求有可能被服务器端防火墙拦截。
防火墙连接追踪:
自身请求出去的,响应回来会自动放行。
数据传输模式:
二进制
文本
具体传输哪种格式由服务器和客户端自行协商。
用户分类:
以下用户都映射为系统用户。
用户的验证都是基于PAM的。
匿名用户
anonymous
用户的根目录是/var/ftp,被强行锁定到此。
虚拟用户:
系统用户
系统上存在的用户,其根目录就是/home/USERNAME