FTP 协议简括
FTP 与我们平时用的很多协议都不同,它采用两个TCP连接来传输一个文件
本文是我分析cu上面的cuftpd简易ftp实现而写,内容主要是概括一下ftp协议。
一: 连接管理
1) 控制连接以通常的客户服务器方式连接(和我们平时看的c/s结构相似),使用21号端口。
2)通过流的方式传输文件,以关闭数据连接为标志说明文件传输结束
active
a)客户发送命令要求建立连接
b)客户随机的选择端口,发送一个被动打开的端口
c)客户使用port命令从传输端口发送它的数据接收端口给服务器
d)服务器接收客户端口,主动打开连接,用20端口传输数据
pasv
控制连接是一样的,所不同的是数据连接的主动打开方式,是由server发送一个pasv 命令告诉client server 用来接收数据的端口。而客户端用控制连接的端口来打开(所以这个需要设置套接口选项)。而且对以流方式传输的连接是有影响的)
二: 命令
ABOR
LIST filelist
PASS password
PORT n1,n2,n3,n4,n5,n6(前面4个是ip地址,后面是端口 256*n5+n6)
QUIT
RETE filename 取一个文件
STOR FILENAME 放一个文件
SYST
TYPE type 说明文件类型: A 表示ASCII码, I表示图像
user username
阅读(1600) | 评论(0) | 转发(0) |