一、FTP连接及传输模式
1、控制连接:TCP 21,用于发送 FTP 命令信息
2、数据连接:TCP 20,用于上传、下载数据
3、数据连接的建立类型:
(1)主动模式:服务器主动发起数据连接:首先由客户端向服务端的21端口建立FTP控制连接。当需要传输数据时,客户端以PORT命令告知服务器“我打开了某端口,你过来连接我”,预算服务器从 20 端口向客户端的该端口发送请求并建立数据连接。
(2)被动模式:服务器被动等待数据连接:如果客户端所在网络的防火墙禁止主动模式连接,通常会使用被动模式。首先由客户端想服务器的 21 端口建立 FTP 控制连接。当需要传输数据时,服务器以 PASV命令告知客户端“我打开了某端口,你过来连接我”,于是客户端向服务器的该端口(非 20)
发送请求并建立数据连接。
如何区分为主动连接和被动连接?
主动连接和被动连接主要的区别是看打开的连接端口是不是20端口
4、传输模式
在传输文件时,根据是否进行字符转换,分为文本模式和二进制模式。
(1)文本模式:又称 ASCII(American Standard Code for Information Interchange )美国信息交换标准码模式,这种模式在传输文件时使用 ASCII 标准字符序列,一般只用于纯文本文件的传输。
(2)二进制模式:又称 Binary 模式,这种模式不会转换文件中的字符序列,更适合传输程序、图片等非纯文本字符的文件。使用二进制模式比文本模式更有效率,大多数 FTP 客户端工具可以根据文件类型自动选择文件传输模式。
二、FTP用户类型
1、匿名用户:用户名为 ftp 或 anonymous,提供任意密码(包括空密码)都可以通过服务器的验证。一般用于公共文件的下载,如提供一些免费的软件、学习资料下载的站点。
2、本地用户:直接使用本地的系统用户账号进行验证。3、虚拟用户:通过一份独立的用户数据库文件进行登录验证,将 FTP 账户与 Linux 系统账户的关联性将至最低,为系统提供更好的安全性。
三、FTP服务器软件的种类
1、Windows 系统:FileZilla Server、Serv-U 等
2、Linux/Unix 系统:vsftpd(Very Secure FTP Daemon)
四、FTP客户端工具的种类
1、Windows 系统:ftp 命令、CuteFTP、FlashFXP、LeapFTP、Filezilla 等。还有一些下载工具软件,如 FlashGet、Wget 等,但不具备上传功能,通常不称为 FTP 客户端工具。
2、Linux/Unix 系统:ftp 命令