FTP 学习笔记

  由于最近在跟LMS项目,前期的环境部署需要使用到FTP协议,所以在这里记录一下项目中学习到的知识,以作记录。

  FTP为基于TCP/IP网络传输协议的文件传输应用层协议。

  FTP协议在两台服务器中传输文件时,需要建立两个通道,分别为:命令传输通道和文件传输通道。

  FTP传输文件过程中分为客户机和FTP服务器,在此过程中总是先建立起命令通道后,再建立文件传输通道。

  在传输文件过程中,可以分为两种传输模式:

  1. 主动方式 POST

    客户端发起命令连接请求,服务器发起文件传输通道建立请求。

    客户端端口:N,N+1  (N>1024随机端口)

    服务器端端口:21,20

    

  2. 被动方式 PASV

    客户端分别发起命令连接和文件传输通道建立请求。

    客户端端口:N,N+1(N>1024随机端口)

    服务器端端口:21,N(N>1024随机端口)

    被动方式下,服务器端可以通过设置配置文件参数,达到控制N端口范围,如下:

    #liunx环境下设置 /etc/vsftpd/vsftpd.conf

    pasv_enable=YES|NO
    pasv_min_port=port number 
    pasv_max_port=port number

     

   两种连接方式中文命名是以服务器为主命名的,也就是说主动被动都是相对服务器端来说的。

   两种模式都需要服务器端开启21端口来建立命令通道连接。

原文地址:https://www.cnblogs.com/springlight/p/8284574.html