转自:http://hi.baidu.com/xianyang1981/item/20d68be050a50aaccf2d4f8e
一、ftp的port和pasv模式的工作方式
FTP使用2个TCP端口,首先是建立一个命令端口(控制端口),然后再产生一个数据端口。国内很多教科书都讲ftp使用21命令端口和20数据端口,这个应该是教书更新太慢的原因吧。实际上FTP分为主动模式和被动模式两种,ftp工作在主动模式使用tcp 21和20两个端口,而工作在被动模式会工作在大于1024随机端口。FTP最权威的参考见RFC 959,有兴趣的朋友可以仔细阅读ftp://nic.merit.edu/documents/rfc/rfc0959.txt的文档了解FTP详细工作模式和命令。目前主流的FTP
Server服务器模式都是同时支持port和pasv两种方式,但是为了方便管理安全管理防火墙和设置ACL了解FTP Server的port和pasv模式是很有必要的。
1.1 ftp port模式(主动模式)
主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口(即tcp 21端口)。紧接着客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。最后服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1),这样客户端就可以和ftp服务器建立数据传输通道了。ftp port模式工作流程如下图所示:
针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:
1、客户端口>1024端口到FTP服务器的21端口 (入:客户端初始化的连接 S<-C)
2、FTP服务器的21端口到客户端>1024的端口(出:服务器响应客户端的控制端口 S->C)
3、FTP服务器的20端口到客户端>1024的端口(出:服务器端初始化数据连接到客户端的数据端口 S->C)
4、客户端>1024端口到FTP服务器的20端口(入:客户端发送ACK响应到服务器的数据端口 S<-C)
1.2 ftp pasv模式(被动模式)
在被动方式FTP中,命令连接和数据连接都由客户端。当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N > 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。ftp pasv模式工作流程如下图所示:
对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:
1、客户端>1024端口到服务器的21端口 (入:客户端初始化的连接 S<-C)
2、服务器的21端口到客户端>1024的端口 (出:服务器响应到客户端的控制端口的连接 S->C)
3、客户端>1024端口到服务器的大于1024端口 (入:客户端初始化数据连接到服务器指定的任意端口 S<-C)
4、服务器的大于1024端口到远程的大于1024的端口(出:服务器发送ACK响应和数据到客户端的数据端口 S->C)
相关推荐
FTP服务器Port和Pasv模式释义.pdf
在CentOS 8系统中,配置vsftpd多用户FTP服务器,实现多虚拟用户FTP连接,并同时解决FTP PORT和PASV模式下的问题。 vsftpd简介 vsftpd是非常流行的FTP服务器软件,支持多种操作系统,包括CentOS、Ubuntu、Debian等。...
处理防火墙和其他网络连接问题时最常见的一个难题是主动FTP与被动FTP的区别以及如何完美地支持它们。幸运地是,本文能够帮助你清除在防火墙环境中如何支持FTP这个问题上的一些混乱。
- 在上传/下载过程中,可能会使用类型(如ASCII或二进制)和模式(如主动或被动)的命令。 - 完成传输后,发送QUIT命令关闭连接。 为了确保FTP客户端的正常工作,开发者需要考虑错误处理,如网络连接失败、认证错误...
在FTP通信过程中,有两种主要的数据传输方式:主动模式(PORT)和被动模式(PASV)。被动模式下,客户端向服务器发起请求时,服务器会从指定的端口范围内选择一个未使用的端口与客户端建立连接。如果这个端口范围过大,...
完成上述步骤后,你的CentOS 5.5系统应该已经配置好了一个使用虚拟用户的FTP服务,提供了更高级别的安全性和权限管理。记得调整防火墙规则,以允许通过指定的端口进行FTP连接。同时,定期更新vsftpd以保持系统安全。
c#ftp客户端 支持主动和被动模式,c#ftp客户端 主动模式 被动模 PORT PASV
FTP 的两种不同工作模式:PORT(主动模式)与PASV(被动模式) 1、首先,我们要了解,FTP 工作的时候,需要用到两个连接:控制连接与数据连接,控制 连接专门用于FTP 控制命令及命令执行信息传送;数据连接专门用于...
220 Microsoft FTP Service USER 123000 331 Password required for 123. PASS xxxxxx 230 User 123 logged in. SYST 215 Windows_NT PWD 257 "/" is current directory. TYPE A 200 Type set to A. PORT 192,168,1,...
服务器租用ftp注意事项 FTP(File Transfer Protocol)是服务器租用用户最常用的数据上传工具,但是对用户而言,理清FTP工具的使用...因为FTP的登录方式只有两种:PORT和PASV,取消PASV模式,就意味着使用PORT模式。
解决方法二:(可使用 PASV 和 Port 两种模式连接) 服务器如果启用了防火墙,需要在防火墙上打开一些端口给FTP的PASV模式使用,否则使用PASV模式无法登录。 一、在 Serv-U的本地服务器 > 设置 > 高级 > PASV 端口...
FTP有两种主要的工作模式:PORT(主动模式)和PASV(被动模式)。 在PORT模式下,客户端首先发起与服务器的控制连接,然后告诉服务器它将监听的端口号,通常是命令连接端口号加1。服务器随后会从其数据端口(20)...
FTP 主被动问题是 FTP 协议中的一种连接模式,分为主动模式(PORT 模式)和被动模式(PASV 模式)。在了解 FTP 主被动问题之前,需要了解 FTP 的基本概念。FTP(File Transfer Protocol)是一种用于在网络上进行文件...
"FTP工作模式" FTP(File Transfer Protocol)是一种常用的...在实际应用中,FTP服务器模式都是同时支持port和pasv两种方式,但是为了方便管理安全管理防火墙和设置ACL,了解FTP Server的port和pasv模式是很有必要的。
在这个实例中,我们将探讨如何在内网环境中使用Serv-U搭建FTP服务器,并理解FTP的工作原理,特别是PORT和PASV模式。 首先,内网Serv-U架站需要满足的条件包括:拥有一个公网IP地址以及对网关的操作权限。假设内网IP...
2. **PASV模式**:FTP的主动(PORT)模式和被动(PASV)模式是两种主要的连接方式。PASV模式在客户端打开一个数据连接到服务器,而不是服务器主动连接到客户端,这样可以解决防火墙和NAT问题。要实现PASV模式,我们...
FTP支持两种工作模式:PORT(主动)模式和PASV(被动)模式。PORT模式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器从20端口向...
- PORT 和 PASV:设置数据传输模式。 FTP客户端的源代码通常会包含以下组件: - 连接管理:处理与服务器的连接建立和断开。 - 命令解析:解析和执行FTP命令。 - 数据传输:处理数据通道的建立和关闭,以及文件的...
PASV(Passive Mode)是一种 FTP 模式,允许 FTP 客户端与服务器进行连接,并且支持文件传输。但是在某些情况下,PASV 模式可能会导致 Socket ERROR 错误。 解决方法是将上传方式改为 PORT 模式。PORT 模式是一种...