• [网络工程师]-应用层协议-FTP


            文件传输协议(File Transfer Protocol,FTP)简称为“文件协议”,用于在Internet上控制文件的双向传输。客户上传文件时,通过服务器20端口建立的连接是建立在TCP之上的数据连接,通过服务器21号端口建立的连接是建立在TCP之上的控制连接。

            FTP协议有两种工作方式:主动式(PORT)和被动式(PASV)。主动与被动是相对于服务器是否首先发起数据连接而言的。

    1、主动式

            主动式的连接过程:

            1)当需要传输数据时,客户端从一个任意的非系统端口N(N>=1024)连接到FTP服务器的21号端口;

            2)客户端开始监听端口N+1并发送FTP命令“Port N+1”到FTP服务器;

            3)服务器会从20号数据端口向客户端指定的N+1号端口发送连接请求,并建立一条数据链路来传送数据。

            具体流程如下图所示:

    2、被动式

            在被动式中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向数据连接被客户端所在网络防火墙过滤掉的问题。

            被动式的连接过程:

            1)当需要传输数据时,客户端从一个任意的非系统端口N(N>=1024)连接到FTP服务器的21号端口;

            2)客户端发送PASV命令,且服务器响应;

            3)服务器开启一个任意的非系统端口Y(Y>=1024);

            4)客户端从端口N+1连接到FTP服务器的Y号端口。

            具体流程如下图所示:

    3、常见命令

    • bin:使用二进制数文件传输方式;
    • bye:退出FTP会哈进程;
    • delete remote-file:删除远程主机文件;
    • dir [remote-dir] [local-file]:显示远程主机目录,并将结果存入local-file;
    • get remote-file [local-file]:将远程主机文件remote-file 传至主机文件remote-file;
    • put local-file [remote-file]:将本地local-file传至远程主机文件remote-file;
    • help [cmd]:显示ftp内部命令cmd的帮助信息;
    • ls [remote-dir] [local-file]:显示远程目录remote-dir,并存入本地local-file;
    • open host[port]:建立指定ftp服务器连接,可指定连接端口;
    • pwd:显示远程主机的当前工作目录;
    • recv remote-file [local-file]:同get;
    • send local-file [remote-file]:同put;
    • user user-name [passwd] [account]:向远程主机表明自己的身份。

    4、TFTP

            简单文件传送协议(Trivial File Transfer Protocol,TFTP)的功能与FTP类似,是一个小而简单的文件传输协议。该协议基于UDP协议,一般用于路由器、交换机、防火墙配置、iOS的备份和替换。

  • 相关阅读:
    电脑缺失duilib.dll是什么情况,有什么办法可以解决duilib.dll缺失
    网络——ARP、DHCP、ICMP协议
    linux shell求和计算脚本
    天池Python练习05-列表操作
    安卓sqlite数据库问题请教
    个人云原生项目如何低成本运维?
    2022年认证杯SPSSPRO杯数学建模A题(第一阶段)人员的紧急疏散求解全过程文档及程序
    mac通过docker一键部署Jenkins
    你还有什么问题吗?
    卡特-2.内存和变量&3.基本数学运算
  • 原文地址:https://blog.csdn.net/m0_58983558/article/details/128089777