文件传输协议(中文版)(四)

  • STOU
  • 125, 150

    (110)

    226, 250

    425, 426, 451, 551, 552

    532, 450, 452, 553

    500, 501, 421, 530

  • RETR
  • 125, 150

    (110)

    226, 250

    425, 426, 451

    450, 550

    500, 501, 421, 530

  • LIST
  • 125, 150

    226, 250

    425, 426, 451

    450

    500, 501, 502, 421, 530

  • NLST
  • 125, 150

    226, 250

    425, 426, 451

    450

    500, 501, 502, 421, 530

  • APPE
  • 125, 150

    (110)

    226, 250

    425, 426, 451, 551, 552

    532, 450, 550, 452, 553

    500, 501, 502, 421, 530

  • RNFR
  • 450, 550

    500, 501, 502, 421, 530

    350

  • RNTO
  • 250

    532, 553

    500, 501, 502, 503, 421, 530

  • DELE
  • 250

    450, 550

    500, 501, 502, 421, 530

  • RMD
  • 250

    500, 501, 502, 421, 530, 550

  • MKD
  • 257

    500, 501, 502, 421, 530, 550

  • PWD
  • 257

    500, 501, 502, 421, 550

  • ABOR
  • 225, 226

    500, 501, 502, 421

    •  
      • 获得信息命令
      1. SYST
      2. 215

        500, 501, 502, 421

      3. STAT
      4. 211, 212, 213

        450

        500, 501, 502, 421, 530

      5. HELP

    211, 214

    500, 501, 502, 421

    •  
      • 其它命令
      1. SITE
      2. 200

        202

        500, 501, 530

      3. NOOP

    200

    500 421

    6. 状态图

    下面是一个简单实现的FTP的状态图,只用到响应码的首位。对于所有命令或命令序列有三种可能性:成功(S),失败(F)或错误(E)。在状态图中B代表开始,W代表等待响应。下面我们给出一个总图,总图可以包括的命令有:

    ABOR,ALLO,DELE,CWD,CDUP,SMNT,HELP,MODE,NOOP,PASV,QUIT,SITE,PORT,SYST,STAT,RMD,MKD,PWD,STRU和TYPE

    而下图可以包括的命令有:APPE,LIST,NLST,REIN,RETR,STOR和STOU。

    第一幅图和第二幅图差别不大,第一幅图中如果出现了100系列响应会是错误,而在第二幅图中不会。下面是重命名过程:

    下面是重新启动命令,其中cmd代表APPE,STOR或RETR。

    下图代表登录过程:

    7. 典型FTP过程

    假设位于U的用户希望从S上(下)传文件,通常用户需要使用用户FTP进程和服务器通信,下面就是一个例子:

    用户发出的本地命令

    解释

    ftp (host) multics<CR>

    连接到S的端口L,建立控制连接

    <---- 220 Service ready <CRLF>.

    用户名 Doe <CR>

    need password<CRLF>.

    USER Doe<CRLF>---->

    <---- 331 用户名正确

    口令 <CR>

    PASS 口令<CRLF>---->

    <---- 230 User logged in<CRLF>.

    retrieve (local type) ASCII<CR>

    (local pathname) test 1 <CR>

    (for. pathname) test.pl1<CR>

    User-FTP opens local file in ASCII.

    RETR test.pl1<CRLF> ---->

    <---- 150 文件状态正常,将打开数据连接<CRLF>

    服务器于端口U建立数据连接

    文件传输中

     

    <---- 226 关闭数据连接,文件传输正确<CRLF>

    type Image<CR>

    TYPE I<CRLF> ---->

    <---- 200 Command OK<CRLF>

    store (local type) image<CR>

    (local pathname) file dump<CR>

    (for.pathname) >udd>cn>fd<CR>

    User-FTP opens local file in Image.

    STOR >udd>cn>fd<CRLF> ---->

    <---- 550 访问拒绝<CRLF>

    中止

    QUIT <CRLF> ---->

    服务器关闭所有连接

    FTP控制连接通过用户进程端口U和服务器端口L建立,这里默认的L=21。

    你可能感兴趣的:(文件传输协议(中文版)(四))