1. 什么是 FTP 协议? File Transfer Protocol
2. 有什么作用? 目标是提高文件的共享性, 提供非直接使用远程计算机, 使存储介质对用户透明和可靠高效地传送数据通俗的说是, 不同 host 之间的文件上传下载
注: 文件传输过程是明文的, 不加密的
3. FTP 服务端和客户端, FTP 是 C/S 模式
4. 传输时候文件的类型: ASCII or BIN
ASCII 传输效率低; BIN 二进制传输效率比较高
在比较新一点 host 中, 传输的文件类型是在控制连接建立时候, 客户端会发送一个传输文件类型为二进制文件的命令
5. FTP 登陆:
1)需要密码的登陆
ftp:// 用户名: 密码 @FTP 服务器 IP 或域名: FTP 命令端口 / 路径 / 文件名
2)匿名 FTP 登陆:
输入关键词: anonymous 有时候后面还要输入 e-mail 地址
6. FTP 支持两种工作方式:
1)standard 方式 在建立数据连接时, 客户端先发送 PORT 指令, 然后服务端主动请求建立数据连接(数据连接客户端的 TCP_Port 通过 PORT 计算,
a × 256+b 其中 a,b 在 PORT 中)
2)passive 方式 在建立数据连接时, 客户端不发送 PORT 指令, 而是发送 Passv 命令, 这样做的结果是服务器会开启一个任意的非特权端口(P> 1024), 并发送 PORT P 命令给客户端然后客户端发起从本地端口 N+1 到服务器的端口 P 的连接用来传送数据(passive 方式与 TCP 的 so_reuseaddr 选项有关)
注意: 因为控制连接时客户端发起的, 而数据连接是服务器发起的所以在防火墙中应该特备警惕
数据连接的断开一般都是服务端主动发起的, 除非客户端用户主动执行中断命令, 在中断请求期间, 客户端还会接收数据并发送 ack 给服务器
服务器给客户端的 response 有三个数字开头
-d 是 debug 模式; --- > 是客户端发给服务端的; 三位数字 **** 是服务端发送给客户端的;
: 或 > 是用户 (人) 需要进行输入
来源: http://www.bubuko.com/infodetail-2520792.html