首页/网络/协议速查/FTP 协议总览(双连接模型)
本包目录(405 条)

FTP 协议总览(双连接模型)

FTP 用两条 TCP 连接:21 控制连接跑命令,20 或临时端口跑数据;「控制与数据分离」是大量防火墙问题的根源。

协议速查网络更新于 2026-10-12
控制连接21 端口,全程保持,传命令与应答(USER/PASV/RETR...)
数据连接实际传文件与目录列表,每次传输新建
应答三位码 + 文本,如 220/230/150/226
模式主动(PORT)或被动(PASV),由客户端选择

手看控制连接

手看控制连接
nc ftp.example.com 21
220 (vsFTPd 3.0.5)
USER alice
331 Please specify the password.
PASS ****
230 Login successful.
PASV
227 Entering Passive Mode (10,0,0,5,195,80)
LIST
150 Here comes the directory listing.
226 Directory send OK.
QUIT
221 Goodbye.
PASV 应答把数据 IP 与端口按 h1,h2,h3,h4,p1,p2 六段十进制编码:端口 = p1×256 + p2。

易错点

  • NAT 网关会重写 PASV 应答里的内网 IP:客户端拿到私网地址必然连不通,需服务端配 pasv_address

数据来源与参考

  • RFC 959(FTP)
  • RFC 2428(EPSV)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌