ftp主动模式和被动模式

阅读数:171 评论数:0

跳转到新版页面

分类

Linux

正文

一、概述

FTP是一种基于TCP的服务,它使用两个端口,一个数据端口和一个命令端口(也称控制端口,通常是21端口)。主动模式还是被动模式由客户端决定。

二、port(主动模式,通过20端口传输数据)

工作原理:ftp客户端连接到ftp服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送port命令到ftp服务器,告诉服务器客户端采用主动模式并开放端口,ftp服务器收到Port主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据。

具体步骤如下:

  • 客户端通过控制连接(FTP命令通道)发送一个PORT命令,指定客户端的IP地址和一个随机的端口号。
  • 服务器收到PORT命令后,会主动连接到客户端指定的IP地址和端口,建立一个数据连接。
  • 客户端和服务器之间进行数据传输。

主动模式的一个特点是,FTP服务器需要主动地连接到客户端的数据端口,这可能会导致一些网络配置问题,例如防火墙或NAT(网络地址转换)设备可能会阻止服务器与客户端建立数据连接。

三、pasv(被动模式,通过1024以上的端口传输数据)

pasv是passive的缩写,中文称为被动模式,工作原理:ftp客户端连接到ftp服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送pasv命令到ftp服务器,服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端,客户端再连接到服务器开放的端口进行数据传输。

具体步骤如下:

  • 客户端通过控制连接发送一个PASV命令,请求服务器进入被动模式。
  • 服务器收到PASV命令后,会在一个固定的端口上打开一个监听,并将该端口号发送给客户端。
  • 客户端收到服务器的响应后,会通过一个新的数据连接连接到服务器的指定端口,进行数据传输

被动模式的一个优势是,它可以避免由于防火墙或NAT设备导致的连接问题,因为数据连接是由客户端主动发起的。

 




相关推荐

一、ftp的常用方式 1. 连接ftp服务器 ftp [hostname| ip-address] #例如 ftp 10.18.34.115 服务器询问你用户名和口令,待认证通过即可。 2. 列出远程

安装 查看是否已安装 vsftpd -v 安装vsftpd yum -y install vsftpd 查看位置</h

一、概述 1、standalone和inetd(inetd或xinetd)模式的区别 (1)standalone模式 运行期间一直驻留在内存中,会战胜一定的系统资源,适合实时返回要求较高的ftp服务器