• 文件传输协议

  • 属于TCP/IP协议组中

  • 两个信道

    • 控制信道

    • 数据信道

  • 两个模式

    • Active Mode 主动模式

    • Passive Mode 被动模式

主动模式工作过程

  1. 客户端主动发起连接,进行TCP三次握手

  2. 源端口随机,目的端口21,认证过程会在控制信道完成

  3. 在传输数据时,FTP client 的应用层发送一个FTP应用层命令:PORT

    1. PORT后面有6个数字,中间使用逗号隔开

    2. 前面四位数表示IP地址,第五个数字*256+第六个数字=客户端端口号

    3. 服务器向该IP:PORT发起连接

    4. 服务器源端口使用20号,目的端口使用计算所得,进行数据传输

被动模式工作过程

  1. 客户端主动发起连接,进行TCP三次握手

  2. 源端口随机,目的端口21,认证过程会在控制信道完成

  3. 在传输数据时,FTP client 的应用层发送一个FTP应用层命令:PASV

  4. 如果服务器支持被动模式,服务器会回复支持

    1. 服务器会回复6个数字,与主动模式客户端发送的6个数字作用相同

    2. 客户端向该IP:PORT发起连接

    3. 数据信道端口随机

ASA 如何保障FTP工作正常

  • ASA 只需要放行初始化流量(第一信道流量),不论是主动模式还是被动模式

  • ASA NAT时不仅对数据包的源目IP、端口号,还会修改FTP的内容

应用监控 FTP - 图1
应用监控 FTP - 图2
应用监控 FTP - 图3