网络协议之FTP协议

article/2025/8/18 14:46:42

1、什么是FTP协议?

FTP 是File Transfer Protocol(文件传输协议)。用于ftp客户端和ftp服务器之间进行文本、文件传输的协议。与http的短连接不同,FTP协议是一种基于socket的长连接。

2、FTP协议的原理

FTP协议实际上是工作在TCP/IP协议族的应用层,其传输层协议是TCP协议。可以知道,他的文件传输是可靠的。

FTP的工作流程大致分为四步:

  1. 启动FTP。ftp的客户端启动一个socket连接到服务器。
  2. 建立控制连接。客户端和服务器通过三次握手过程(21端口),建立连接,用于传输ftp协议的命令。
  3. 建立数据连接。客户端和服务器建立数据连接(分为主动模式和被动模式),用户文件的传输。
  4. 关闭FTP。ftp客户端清空数据流,并且关闭Socket。

3、FTP协议的工作详解。

1、FTP协议的工作流程中为什么有控制连接和数据连接?

FTP协议的控制链接是用于客户端向服务器发送ftp的命令用的,只要不想关闭FTP客户端,就会一直保持该连接,用户之后的命令交互。而数据连接,则是区别于控制链接之外的,用户传输文件用的socket连接,当传输文件结束时,就关闭连接。

2、数据连接的主动模式和被动模式?

FTP的数据连接过程中的主动模式和被动模式,是相对于FTP服务器来说都。

主动模式:FTP客户端在客户端建立一个socket,端口为B,并通过FTP控制连接的通道发送PORT命令,告诉FTP服务器:“客户端已经对B端口进行了监听”;然后FTP服务器主动与FTP客户端的B端口建立连接。

è¿éåå¾çæè¿°

被动模式:FTP客户端通过FTP的控制连接的通道,发送PASV命令,告诉FTP服务器:“我要建立数据连接”;然后FTP服务器会随机启动一个端口X的监听,并在返回信息中告诉FTP客户端:“可以与X端口建立连接”;最后,FTP客户端主动与FTP服务器的X端口建立连接。

è¿éåå¾çæè¿°

4、FTP协议的命令大全

FTP COMMANDSThe following are the FTP commands:USER <SP> <username> <CRLF>       登录的用户名PASS <SP> <password> <CRLF>       密码ACCT <SP> <account-information> <CRLF>CWD  <SP> <pathname> <CRLF>       改变当前目录CDUP <CRLF>                       返回上级目录SMNT <SP> <pathname> <CRLF>QUIT <CRLF>                       退出REIN <CRLF>                       重新登录PORT <SP> <host-port> <CRLF>PASV <CRLF>                       获取数据传输端口TYPE <SP> <type-code> <CRLF>      设置数据交换的类型{A(SCII),E(BCDIC),I(mage),L(ocal byte size)}STRU <SP> <structure-code> <CRLF>MODE <SP> <mode-code> <CRLF>RETR <SP> <pathname> <CRLF>STOR <SP> <pathname> <CRLF>       用覆盖方式上传一个文件到服务器STOU <CRLF>APPE <SP> <pathname> <CRLF>       用追加方式上传一个文件到服务器ALLO <SP> <decimal-integer>[<SP> R <SP> <decimal-integer>] <CRLF>REST <SP> <marker> <CRLF>         指定重新下在的字节数RNFR <SP> <pathname> <CRLF>       指定需要改名的原文件RNTO <SP> <pathname> <CRLF>       指定需要改名的新文件名ABOR <CRLF>                       取消前一指令DELE <SP> <pathname> <CRLF>       在服务器上删除指定文件RMD  <SP> <pathname> <CRLF>       在服务器上删除指定目录MKD  <SP> <pathname> <CRLF>       在服务器上创建目录       PWD  <CRLF>                       显示当前目录LIST [<SP> <pathname>] <CRLF>     列出当前目录下所有文件和子目录NLST [<SP> <pathname>] <CRLF>     列出当前目录下所有文件和子目录的名字SITE <SP> <string> <CRLF>SYST <CRLF>STAT [<SP> <pathname>] <CRLF>HELP [<SP> <string>] <CRLF>       获取帮助NOOP <CRLF>FTP Security commands and argumentsAUTH <SP> <mechanism-name> <CRLF>ADAT <SP> <base64data> <CRLF>PROT <SP> <prot-code> <CRLF>PBSZ <SP> <decimal-integer> <CRLF>MIC <SP> <base64data> <CRLF>CONF <SP> <base64data> <CRLF>ENC <SP> <base64data> <CRLF>

1.访问命令:

USER <username>    用于指定登录的用户名,以便服务器进行身份验证。USER命令通常是控制连接建立后发出的第一个命令。
PASS <password>    用于指定用户密码,该命令用于登录用户命令之后。
REIN    重新初始化用户信息,该命令会终止当前 USER的传输,也会终止正在传输的数据,然后重置所有参数,并打开控制连接,以便客户端再次发出USER命令。
QUIT    关闭与服务器之间的连接。


2.模式设置命令

PASV    告诉服务器,让FTP服务器在指定的数据端口进行监听,被动接受客户端的请求。是默认模式。
PORT <address>    告诉FTP服务器,客户端监听的端口号是address,FTP服务器采用主动模式连接客户端。
TYPE <data type>    指定要传输的数据类型,有ASCLL和二进制。
MODE <mode>    指定传输模式,S(流),B(块),C(压缩)。

3.文件管理命令

CWD <directory>    用户可以在不同的目录或数据集下工作而不改变登录信息,directory一般是用户名与系统相关的文件集合。
PWD    返回当前工作目录。
MKD <directory>>    在指定目录下创建新目录,directory表示指定目录的字符串。
CDUP    回到上层目录。
RMD <directory>    删除指定目录。
LIST <name>    返回指定路径下的子目录及文件列表,name为路径,若省略,返回当前路径下的文件列表。
NLIST <directory>    返回指定路径下的目录列表,省略路径时,返回当前目录。
RNFR <old path>    重新命名文件,该命令的下一条命令用RNTO指定新的文件名。
RNTO <new path>    和RNFR命令共同完成对文件的重命名。
DELE <filename>    删除指定路径下的文件。

4.文件传输命令

RETR <filename>    下载指定路径的文件。
STOR <filename>    上传一个指定的文件,并将其存储在指定的位置,如果文件已经存在,原文件被覆盖,如果文件不存在,则创建新文件。

 

更多内容请关注微信公众号“外里科技

官方公众号外里科技
运营公众号英雄赚
微信wxid_8awklmbh1fzm22
QQ1247408032
开源代码https://gitee.com/B_T/beimi

 


http://chatgpt.dhexx.cn/article/xtUDKSgG.shtml

相关文章

FTP协议及使用

FTP协议概述FTP协议使用总结 FTP协议概述 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09;是典型的C/S架构的应用层协议&#xff0c;需要由服务端软件、客户端软件俩个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的&#xff0…

FTP协议,带你了解FTP协议

目录 一、FTP的概述 1.FTP的理念 2.FTP数据连接模式 3.连接模式分类 4.主动和被动模式的工作原理 二、配置FTP服务 1、配置匿名用户FTP服务 1. 1安装FTP服务器软件 1.2 配置FTP服务器 1.3 重启FTP服务器 1.4 测试FTP服务器 2.关闭防火墙安装vsftpd软件包 3.开启FTP…

FTP协议的原理及配置

一、FTP概述 1、FTP&#xff08;File Transfer Protocol&#xff0c;超文本传输协议&#xff09; 是典型的c/s架构的应用层协议&#xff0c;需要由服务端软件、客户端软件两个部分共同实现文本传输功能。FTP客户端和服务器之间的连接是可靠的&#xff0c;面向连接的&#xff…

基于FTP协议的文件传输与下载

文章目录 一、FTP协议二、文件上传1.连接服务器2.登录操作3.上传操作 三.文件下载1.连接服务器2.登录操作3.下载操作 四. 总结 一、FTP协议 FTP(文件传输协议)&#xff0c;基于TCP/IP协议&#xff1b;也是C/S架&#xff0c;分为两部分&#xff1a;FTP服务器、FTP客户端。服务器…

基于FTP协议实现文件上传与下载

目录 一、FTP简介 二、关于FTP服务器 三、文件上传 分步讲解&#xff1a; 完整实现代码&#xff1a; 四、下载文件 分步讲解&#xff1a; 完整实现代码&#xff1a; 小结 一、FTP简介 FTP&#xff08;File Transfer Protocol&#xff09;即文件传输协议&#xff0c;是…

【FTP】——文件传输协议

文章目录 1.FTP简介1.1 FTP概述1.2 FTP主动模式1.3 FTP被动模式 2. 实例&#xff1a;匿名用户访问FTP服务3. 实例&#xff1a;本地用户访问FTP服务 1.FTP简介 1.1 FTP概述 FTP服务——用来传输文件的协议。 FTP服务器默认使用TCP协议的20、21端口与客户端进行通信. 20端口…

FTP协议使用

FTP协议大家都知道是文件传输协议&#xff0c;那这个协议到底是怎么样的呢&#xff0c;怎么用C语言是实现一个客户端呢&#xff1f; 我想通过这篇文章你能够理解FTP协议。 1-首先我们先了解一下FTP的工作流程 FTP分为 FTP服务器&#xff0c;FTP客户端&#xff0c;一般我们只…

FTP协议分析

一、实验名称 FTP协议分析 二、实验目标 1、理解FTP协议的工作原理&#xff1b; 2、了解FTP协议的常用命令&#xff1b; 3、了解应用层协议与传输层协议的关系 三、实验原理 FTP&#xff08;File Transfer Protocal&#xff09;&#xff0c;是文件传输协议的简称。FTP使…

FTP 文件传输协议

FTP&#xff1a; 使用FTP进行文件传输时&#xff0c;会使用两个TCP连接。第一个连接是FTP客户端和FTP服务器间的控制连接。FTP服务器开启21号端口&#xff0c;等待FTP客户端发送连接请求。FTP客户端随机开启端口&#xff0c;向服务器发送建立连接的请求。控制连接用于在服务器…

在互联网上传输文件 —— FTP协议

文章目录 FTP协议是什么FTP协议传输过程FTP命令和回答参考文献 FTP协议是什么 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09; 是TCP/IP 协议组中的协议之一。 FTP协议包括两个组成部分&#xff0c;其一为FTP服务器&#xff0c;其二为FTP客户端。…

文件传输协议(FTP)

因特网上使用的最广泛的文件传输协议。FTP提供交互式的访问&#xff0c;允许客户指明文件的类型与格式&#xff0c;并允许文件具有存储权限。它屏蔽了各个计算系统的细节&#xff0c;因而适合于在异构网络中的任意计算机之间传输文件。 FTP提供以下功能&#xff1a; 提供不同种…

FTP协议完全详解

1. 介绍 FTP的目标是提高文件的共享性&#xff0c;提供非直接使用远程计算机&#xff0c;使存储介质对用户透明和可靠高效地传送数据。虽然我们也可以手工使用它&#xff0c;但是它的主要作用是供程序使用的。在阅读本文之前最好能够阅读TCP协议标准规范和Telnet协议标准规范。…

FTP协议(文件传输协议)

FTP是FileTransferProtocol&#xff08;文件传输协议&#xff09;的英文简称&#xff0c;而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时&#xff0c;它也是一个应用程序&#xff08;Application&#xff09;。基于不同的操作系统有不同的FTP应用程序&am…

FTP文件传输协议详解

简介&#xff1a;FTP是基于TCP协议之上的具有C/S架构的文件服务器。 需要通过控制连接20端口来控制双方的通信 需要通过数据连接21端口来进行双方的通信 主动模式&#xff1a;最大的特点是数据连接由服务器的20端口主动发起连接&#xff0c;这种情况可能会被客户端的防火墙拒绝…

FTP协议讲解

FTP 概述 文件传输协议&#xff08;FTP&#xff09;作为网络共享文件的传输协议&#xff0c;在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。 在传输文件时&#xff0c;FTP 客户端程序先与服务器建立连接&#xff0c;然后向服务器发送命…

FTP 协议

FTP 协议 FTP协议的&#xff08;file Transfer Protocol&#xff09;文本传输协议&#xff0c;简称为FTP&#xff0c; **FTP 是一种基于 TCP 的应用层协议&#xff0c;它不支持 UDP 协议。 FTP 工作在一种特殊的服务机制上&#xff0c;**采用的是c/s模式 也就是客户端和服务器…

浅谈FTP(文件传输协议)

FTP(文件传输协议) FTP(File Transfer Protocol) &#xff0c;是一种处于应用层的用于文件传输的协议。是基于TCP协议的应用层协议&#xff0c;用于在网络上传输文件。 该协议使用的端口号为20和21&#xff0c;其中20是数据端口&#xff0c;21是命令端口(默认情况下) 是否使用…

FTP协议

一、FTP的概述 1、文件传送协议FTP (File Transfer Protocol)是互联网上使用得最广泛的文件传送协议&#xff0c;用于Internet上的控制文件的双向传输。 2、FTP提供交互式的访问&#xff0c;允许客户指明文件的类型与格式&#xff0c;并允许文件具有存取权限。 3、FTP 屏蔽了…

FTP文件传输协议

目录 一、FTP的概述 1.1 FTP的理念 1.2 FTP数据连接模式 1.2.1 连接模式分类 1.2.2 主动和被动模式的工作原理 二、配置FTP服务 2.1 配置匿名用户FTP服务 2.1.1 关闭防火墙安装vsftpd软件包 2.1.2 开启FTP服务并做备份 ​ 2.1.3 修改配置文件 2.1.4 设置目录下权限&a…

FTP协议详解

一、FTP协议的概述 1、文件传送协议(File Transfer Protocol)是互联网上使用的最广泛的文件传输协议&#xff0c;用于Internet上的控制文件的双向传输。 2、FTP提供交互式的访问&#xff0c;允许客户指明文件类型与格式&#xff0c;并允许文件具有存取权限。 3、FTP屏蔽了各…