美文网首页
ftp客户端实现(一)

ftp客户端实现(一)

作者: zzkdev | 来源:发表于2018-02-11 00:12 被阅读0次

    前置知识

    ftp学习资料
    ftp命令:

    命令          描述
    ABOR            中断数据连接程序
    ACCT <account>      系统特权帐号
    ALLO <bytes>        为服务器上的文件存储器分配字节
    APPE <filename>     添加文件到服务器同名文件
    CDUP <dir path>     改变服务器上的父目录
    CWD <dir path>      改变服务器上的工作目录
    DELE <filename>     删除服务器上的指定文件
    HELP <command>      返回指定命令信息
    LIST <name>     如果是文件名列出文件信息,如果是目录则列出文件列表
    MODE <mode>     传输模式(S=流模式,B=块模式,C=压缩模式)
    MKD <directory>     在服务器上建立指定目录
    NLST <directory>    列出指定目录内容
    NOOP            无动作,除了来自服务器上的承认
    PASS <password>     系统登录密码
    PASV            请求服务器等待数据连接
    PORT <address>      IP 地址和两字节的端口 ID
    PWD         显示当前工作目录
    QUIT            从 FTP 服务器上退出登录
    REIN            重新初始化登录状态连接
    REST <offset>       由特定偏移量重启文件传递
    RETR <filename>     从服务器上找回(复制)文件
    RMD <directory>     在服务器上删除指定目录
    RNFR <old path>     对旧路径重命名
    RNTO <new path>     对新路径重命名
    SITE <params>       由服务器提供的站点特殊参数
    SIZE〈FILENAME〉  文件大小,执行成功返回 213
    SMNT <pathname>     挂载指定文件结构
    STAT <directory>    在当前程序或目录上返回信息
    STOR <filename>     储存(复制)文件到服务器上
    STOU <filename>     储存文件到服务器名称上
    STRU <type>     数据结构(F=文件,R=记录,P=页面)
    SYST            返回服务器使用的操作系统
    TYPE <data type>    数据类型(A=ASCII,E=EBCDIC,I=binary)
    

    下面是ftp响应码:

    响应代码    解释说明
    110     新文件指示器上的重启标记
    120     服务器准备就绪的时间(分钟数)
    125     打开数据连接,开始传输
    150     打开连接
    200     成功
    202     命令没有执行
    211     系统状态回复
    212     目录状态回复
    213     文件状态回复
    214     帮助信息回复
    215     系统类型回复
    220     服务就绪
    221     退出网络
    225     打开数据连接
    226     结束数据连接
    227     进入被动模式(IP 地址、ID 端口)
    230     登录完成
    250     文件行为完成
    257     路径名建立
    331     要求密码
    332     要求帐号
    350     文件行为暂停
    421     服务关闭
    425     无法打开数据连接
    426     结束连接
    450     文件不可用
    451     遇到本地错误
    452     磁盘空间不足
    500     无效命令
    501     错误参数
    502     命令没有执行
    503     错误指令序列
    504     无效命令参数
    530     未登录网络
    532     存储文件需要帐号
    550     文件不可用
    551     不知道的页类型
    552     超过存储分配
    553     文件名不允许
    

    配置测试环境

    由于是在windows上测试所以决定在windows上搭建ftp服务器
    系统:win10
    下面是流程
    1.打开控制面板->程序->点击启用或关闭Windows功能将图中选项打勾


    图片.png

    2.打开计算机管理->在左侧找到服务和应用程序-Internet Information Services(IIS)管理器,点击进入添加ftp站点并配置


    图片.png
    3.允许FTP服务器通过防火墙,打开Windows 防火墙并允许ftp服务器
    图片.png
    图片.png

    测验环境

    在游览器中输入ftp://192.168.0.7,出现正常页面
    在命令行环境下出现150错误
    原因:
    默认情况下命令行下的ftp为主动模式ftp服务器对客户端发起链接会被防火墙墙掉
    解决方法:
    设置为被动模式,使用命令quote PASV 或者literal PASV


    第六篇啦啦啦啦


    无论我们看多么新鲜的故事,我们在故事的最深处看到的是自己,看到的是自己的欲望,自己的人生。如此,我们才会不断把自己投射其中,乐此不疲地看下去。——和菜头


    给我点十个赞我就买杯可乐庆祝下


    相关文章

      网友评论

          本文标题:ftp客户端实现(一)

          本文链接:https://www.haomeiwen.com/subject/eynctftx.html