当前位置:首页 » 文件管理 » 文件传输ftp的主要过程

文件传输ftp的主要过程

发布时间: 2023-03-02 08:31:33

A. 文件传输协议ftp的主要工作过程是怎样的

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
FTP简要工作过程。1. 主进程2.从属进程主进程工作步骤如下a,打开熟知端口,使客户进程能够链接上b,等待客户进程发送链接请求c,启动从属进程来处理客户进程发来的请求,从属进程在运行期间还会创建一些子程序d,回到等待状态 从属进程包括a,控制进程 不用来传输文件b,数据传输进程 数据链接用来传输文件

B. 简述FTP的工作原理

FTP有两个过程:控制连接数据连接

控制连接用于传送请求;而数据连接用于传输文件

  • FTP的工作原理:

    FTP协议不像HTTP协议一样需要一个端口作为连接(默认时HTTP端口是80,FTP端口是21)。FTP协议需要两个端口:

    一个端口是作为控制连接端口,也就是FTP的21端口,用于发送传送请求给服务器的控制进程以及等待服务器响应(控制连接并不用来传送文件)

    另外一个端口用于数据传输端口,端口号为20(仅用PORT模式),是用建立数据传输通道的,主要作用是从客户向服务器发送一个文件,从服务器向客户发送一个文件,从服务器向客户发送文件或目录列表,用来连接客户端和服务器端的数据传送进程。

    数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。

C. 文件传送协议ftp的主要工作过程怎么样

• FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。
• FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
• 主进程的工作步骤:
• (1)打开熟知端口(端口号为21),使客户进程能够连接上。
• (2)等待客户进程发出连接请求。
• (3)启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程
• (4)回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发的进行的。
• FTP使用两个TCP连接。
• 控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
• 实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传输进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。
• 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传输连接”并结束运行。

D. 简述文件传输协议FTP的工作原理及一般使用步骤。

1、FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive(也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。
下面介绍一个这两种方式的工作原理:
Port
FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
Passive
在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

2、使用步骤
(1)FTP服务器运行FTPd守护进程,等待用户的FTP请求。

(2)用户运行FTP命令,请求FTP服务器为其服务。

例:FTP 202.119.2.197

(3)FTPd守护进程收到用户的FTP请求后,派生出子进程FTP与用户进程FTP交互,建立文件传输控制连接,使用TCP端口21。

(4)用户输入FTP子命令,服务器接收子命令,如果命令正确,双方各派生一个数据传输进程FTP-DATA,建立数据连接,使用TCP端口20,进行数据传输。

(5)本次子命令的数据传输完,拆除数据连接,结束FTP-DATA进程。

(6)用户继续输入FTP子命令,重复(4)、(5)的过程,直至用户输入quit命令,双方拆除控制连接,结束文件传输,结束FTP进程。

E. FTP文件传输原理

在遇到了一个wireshark数据包分析题之后,看到了ftp的相关信息,但是没找到相关的flag信息,请教了大佬的解释,才知道ftp文件传输并不是在21端口,ftp文件传输有主动和被动两种方式,

被动(PASV)模式:

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条控制连接。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

服务器控制端口(21),服务器端等待的数据传输端口(动态申请)

ftp服务器动态申请一个端口(一般大于1024)然后告诉客户端,我在这个端口上等待你的连接,客户端收到以后便向服务器的这个端口发起连接,数据连接建立以后,数据传输就可以开始了

端口计算方法:172,16,101,104,7,254,256*7+254=2046

一次完整的被动连接及数据传输过程:

状态: 正在连接 172.16.101.104:21...

状态: 连接建立,等待欢迎消息...

响应: 220 Serv-U FTP Server v6.4 for WinSock ready...

命令: USER test

响应: 331 User name okay, need password.

命令: PASS ****

响应: 230 User logged in, proceed.

状态: 已连接

状态: 读取目录列表...

命令: PWD

响应: 257 "/" is current directory.

状态: 列出目录成功

状态: 正在连接 172.16.101.104:21...

状态: 连接建立,等待欢迎消息...

响应: 220 Serv-U FTP Server v6.4 for WinSock ready...

命令: USER test

响应: 331 User name okay, need password.

命令: PASS ****

响应: 230 User logged in, proceed.

状态: 已连接

状态: 开始上传 E:\Downloads\liugong\liugong\404.htm

命令: CWD /

响应: 250 Directory changed to /

命令: TYPE A

响应: 200 Type set to A.

命令: PASV

响应: 227 Entering Passive Mode (172,16,101,104,8,86)

命令: STOR 404.htm

响应: 150 Opening ASCII mode data connection for 404.htm.

响应: 226 Transfer complete.

状态: 文件传输成功,传输了 2,052 字节 (用时1 秒)

状态: 读取目录列表...

命令: TYPE I

响应: 200 Type set to I.

命令: PASV

响应: 227 Entering Passive Mode (172,16,101,104,8,88)

命令: MLSD

响应: 150 Opening BINARY mode data connection for MLSD.

响应: 226 Transfer complete.

状态: 列出目录成功

主动(PORT)模式:

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条控制连接。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

一次完整的主动连接及数据传输过程:

状态: 正在连接 172.16.101.104:21...

状态: 连接建立,等待欢迎消息...

响应: 220 Serv-U FTP Server v6.4 for WinSock ready...

命令: USER test

响应: 331 User name okay, need password.

命令: PASS ****

响应: 230 User logged in, proceed.

状态: 已连接

状态: 开始上传 E:\Downloads\liugong\liugong\404.htm

命令: CWD /

响应: 250 Directory changed to /

命令: TYPE A

响应: 200 Type set to A.

命令: PORT 172,16,101,104,8,76

响应: 200 PORT Command successful.

命令: STOR 404.htm

响应: 150 Opening ASCII mode data connection for 404.htm.

响应: 226 Transfer complete.

状态: 文件传输成功,传输了 2,052 字节 (用时1 秒)

状态: 读取目录列表...

命令: TYPE I

响应: 200 Type set to I.

命令: PORT 172,16,101,104,8,77

响应: 200 PORT Command successful.

命令: MLSD

响应: 150 Opening BINARY mode data connection for MLSD.

响应: 226 Transfer complete.

状态: 列出目录成功

再回来说这一题,看到

计算端口为 4*256+17=1041

端口过滤,追踪tcp流

F. FTP的主要工作过程是怎样的主进程和从属进程各起什么作用

(1)FTP 使用客户服务器方式。一个FTP 服务器进程可同时为多个客户进程提供服
务。
FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干
个从属进程,负责处理单个请求。
主进程的工作步骤:
1、打开熟知端口(端口号为21),使客户进程能够连接上。
2、等待客户进程发出连接请求。
3、启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕
后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
4、回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是
并发地进行。
(2)作用:控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发
送给服务器端的控制进程,但控制连接不用来传送文件。
实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP 客户发送来
的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端
的数据传送进程。
数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。

热点内容
话唠安卓哪里下载 发布:2025-05-19 20:27:04 浏览:164
疯狂android讲义光盘 发布:2025-05-19 20:12:31 浏览:152
安卓手机怎么下载圈点 发布:2025-05-19 20:08:11 浏览:473
文件夹粉碎不了 发布:2025-05-19 20:05:41 浏览:244
安卓怎么把软件放进全局 发布:2025-05-19 20:03:55 浏览:688
安卓手机如何看最真实的型号 发布:2025-05-19 19:58:59 浏览:12
U盘超级加密2008 发布:2025-05-19 19:44:32 浏览:457
灯带编程软件 发布:2025-05-19 19:32:30 浏览:288
如何判断服务器被多少人访问 发布:2025-05-19 19:27:45 浏览:126
编程stata 发布:2025-05-19 19:12:18 浏览:517