FTP协议过程分析

FTP连接过程分析

建立TCP连接
 客户呼叫服务器21端口,客户端自已选一个端口如:3963
 三次握手建立TCP连接

服务器发回FTP欢迎信息
 220  Welcome to HUST SOUTH 1 Bulding Kaka FTP service.


客户端登录
 
端口:3963--21 客户--服务器
 首先客户端发送用户名,
  55 53-45 52 20 31 0D 0A
  USER
 1
     USER是FTP命令,1为用户名,命令和用户名之间用0x20(空格)隔开,用户名最后以0x0d,0x0a(回车,换行)结尾。

 FTP服务器回复
  331
 Please specify the password.//关键是331 提示信息可不一样。

  客户端发送密码
  PASS 1

    服务器效验用户名和密码
 1
、用户名和密码正确服务器回复
  230 Login successful. Have fun... 
 2
、用户名或密码错误回复
  530 Login incorrect.
服务器设置  
 确认服务器上运行的操作系统

 端口:3963--21 客户--服务器
 客户端发送
  53 59-53 54 0D 0A           
  SYST  //
最后以0x0d,0x0a(回车,换行)结尾
 服务器回复
  215 UNIX Type: L8

 设置传输模式
 
客户端发送
 54 59-50 45 20 41 0D 0A
 TYPE
 A
 服务器回复信息
:
 200 Type set to ASCII


数据传输
 
客户发送FTP命令
 50 41-53 56 0D 0A
 PASV
 
服务器发回FTP信息:
 227 
Entering Passive Mode (211,69,207,115,5,203).
 服务器这里会被动打开一个端口 5*256+203=1483这个端口来做为数据传输。

 客户端接下来就打开一个端口(例如:3964),客户端3964---服务器1483端口,这个连接用来以后传输数据文件或目录。
 
 
客户发送FTP命令 客户端3963---服务器21端口
  LIST -al  //显示目录
 服务器回复
  150 Here comes the directory listing.
 服务器回复 客户端3964---服务器1483端口

  目录数据,基于TCP流,UNIX目录可直接显示

退出
 
客户发送FTP命令
 QUIT
 
服务器发回FTP信息:
 221 
Goodbye.
FTP 返回说明

110 重新启动标记应答。在这种情况下文本是确定的,它必须是:MARK yyyy=mmmm,其中yyyy是用户进程数据流标记,mmmm是服务器标记。
120 服务在nnn分钟内准备好
125 数据连接已打开,准备传送
150 文件状态良好,打开数据连接
200 命令成功
202 命令未实现
211 系统状态或系统帮助响应
212 目录状态

213 文件状态
214 帮助信息,信息仅对人类用户有用

215 名字系统类型
220 对新用户服务准备好
221 服务关闭控制连接,可以退出登录
225 数据连接打开,无传输正在进行
226 关闭数据连接,请求的文件操作成功
227 进入被动模式
230 用户登录
250 请求的文件操作完成
257 创建"PATHNAME"
331 用户名正确,需要口令

332 登录时需要帐户信息
350 请求的文件操作需要进一步命令
421 不能提供服务,关闭控制连接
425 不能打开数据连接
426 关闭连接,中止传输
450 请求的文件操作未执行
451 中止请求的操作:有本地错误
452 未执行请求的操作:系统存储空间不足
500 格式错误,命令不可识别
501 参数语法错误
502 命令未实现 
503 命令顺序错误
504 此参数下的命令功能未实现
530 未登录
532 存储文件需要帐户信息
550 未执行请求的操作
551 请求操作中止:页类型未知
552 请求的文件操作中止,存储分配溢出
553 未执行请求的操作:文件名不合法
 
命令和服务器响应序列
 建立连接
         120, 220, 220, 421

 登录
 USER
     230, 530, 500, 501, 421, 331, 332
        PASS
     230,202,530,500, 501, 503, 421,332
        ACCT
     230,202,530,500, 501, 503, 421
        CWD
     250,500, 501, 502, 421, 530, 550
        CDUP
     200,500, 501, 502, 421, 530, 550
 SMNT
     202, 250, 500, 501, 502, 421, 530, 550
 
退出登录
        REIN
     120, 220, 220, 421, 500, 502
 QUIT
     221, 500
 传输参数

 PORT
     200, 500, 501, 421, 530
 PASV
     227, 500, 501, 502, 421, 530
 MODE
     200, 500, 501, 504, 421, 530
 TYPE
     200, 500, 501, 504, 421, 530
 STRU
     200, 500, 501, 504, 421, 530
 文件操作命令

 ALLO
     200, 202, 500, 501, 504, 421, 530
 REST
     500, 501, 502, 421, 530, 350
 STOR
     125, 150, (110)
     226, 250, 425, 426, 451, 551, 552, 532, 450, 452, 553, 500, 501, 421, 530
 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
 获得信息命令

 SYST
    215, 500, 501, 502, 421
 STAT
    211, 212, 213, 450, 500, 501, 502, 421, 530
 HELP
    211, 214, 500, 501, 502, 421
 其它命令

 SITE
  200, 202, 500, 501, 530
 NOOP
  200, 500 421

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值