1.  什么是FTP协议?File Transfer Protocol

        2.  有什么作用?目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。通俗的说是,不同host 之间的文件上传、下载。

    注:文件传输过程是明文的,不加密的。

             3.  FTP服务端和客户端,FTPC/S模式


          4.  传输时候文件的类型:ASCII or BIN

   ASCII传输效率低;BIN二进制传输效率比较高。

   在比较新一点host中,传输的文件类型是在控制连接建立时候,客户端会发送一个传输文件类型为二进制文件的命令。


5.  FTP 登陆:

    1)需要密码的登陆

                      ftp://用户名:密码@FTP服务器IP或域名:FTP命令端口/路径/文件名

    2)匿名 FTP 登陆:

          输入关键词:anonymous  有时候后面还要输入e-mail 地址。

              6.  FTP支持两种工作方式:

         1standard方式  在建立数据连接时,客户端先发送PORT 指令,然后服务端主动请求建立数据连接。(数据连接客户端的TCP_Port通过PORT计算,

              a × 256+b 其中a,bPORT中)

         2passive 方式   在建立数据连接时,客户端不发送PORT 指令,而是发送Passv命令,这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。(passive方式与TCP so_reuseaddr选项有关);该方式比较耗时(2MSL);

       注意:因为控制连接时客户端发起的,而数据连接是服务器发起的。所以在防火墙中应该特备警惕。

                  数据连接的断开一般都是服务端主动发起的,除非客户端用户主动执行中断命令,在中断请求期间,客户端还会接收数据并发送ack给服务器。

                  服务器给客户端的response 有三个数字开头

                             image.png

            -d debug模式;  --- > 是客户端发给服务端的; 三位数字 ****是服务端发送给客户端的;

    > 是用户()需要进行输入。


参考链接