`

FTP主动模式在内网不允许接受外部发起的连接

阅读更多

  FTP支持两种模式,主动模式(standard模式,也称PORT方式)和被动模式(Passive模式,也称PASV方式),主动模式FTP的客户端发送PORT命令到FTP服务器,被动模式FTP的客户端发送PASV命令到FTP服务器。

  主动模式FTP的客户端首先用一个大于1024的端口N和FTP服务器的TCP21 命令端口建立连接,通过该通道发送PORT命令,命令包含了客户端用什么端口(一般是N+1端口)接受数据或发送数据,客户端同时开放另一端口N+1,在传送数据时,服务器端通过自己的20数据端口连接客户端的N+1端口,发送数据或者接受数据。FTP服务器必须和客户端建立一个新的连接来传送数据,即:我客户端主动告知你服务器我用哪个端口来发送或者接受数据,等待服务器来连接客户端,换言之,FTP服务器主动连接客户端。(此时有可能因为客户端身处防火墙后,N+1不能被服务器的20端口连接到。)

  被动模式在建立控制通道时候和主动模式类似,但客户端通过端口N(也是大于1024)发送的是PASV命令,并同时打开N+1端口监听,此时FTP服务器打开一个位于1024到5000之间的一个随机端口通知客户端,然后通过该随机数据端口连接客户端的N+1的端口,此时FTP服务器不需要和客户端建立一个新的客户端连接,即我客户端被动的等待你服务器告知我用那个端口发送或者接受数据,客户端再来连接服务器,换言之,FTP服务器被动等待客户端连接。(此时有可能因为服务器的防火墙阻止客户端端口N+1连接服务器的数据端口,造成FTP连接不能工作。)

  很多局域网防火墙在设置的时候都不允许接受外部发起的连接,所以FTP的主动模式在内部网络的机器通过防火墙访问外部FTP服务器的时候受到了限制,因为从FTP服务器TCP20端口无法和内部网络的客户端建立一个连接,造成无法工作。

  当然如果非要这样,可以设置成功,首先分别设置允许内部IP连接外部IP的21端口,以及禁止外部TCP20端口连接内部IP的小于1024的端口,这是为了防止外部IP连接内部的常规端口,最后还得验证ACK是否是1。

  如果不这样设置就得使用PASV模式,因为此时不用建立新连接,但此时服务器端会开放一个范围很大的随机端口,有的FTP端口范围都可以设置到1024到65535,如果没有防火墙的保护,被动模式使用起来会不安全。建议用主动模式。

 另:linux里vsftpd如果要支持passive被动模式,需要添加

pasv_enable=YES
pasv_min_port=3000 #端口范围
pasv_max_port=4000
到/etc/vsftpd/vsftpd.conf

分享到:
评论

相关推荐

    Qt5的FTP上传下载,ftp主动模式被动模式下载

    使用Qt5实现Ftp上传下载,支持Ftp主动模式,被动模式选择下载,ui输入ip,端口等配置信息,快速验证;使用QTcpSocket,QTcpServer实现,支持linux,windows,嵌入式linux运行,FTP标准命令。

    c#ftp客户端 支持主动和被动模式

    c#ftp客户端 支持主动和被动模式,c#ftp客户端 主动模式 被动模 PORT PASV

    ftp主动模式和被动模式详解

    ftp主动模式和被动模式详解 详细的解释了FTP的主动模式和被动模式。

    ftp中主动模式(port)与被动模式(PASV)

    处理防火墙和其他网络连接问题时最常见的一个难题是主动FTP与被动FTP的区别以及如何完美地支持它们。幸运地是,本文能够帮助你清除在防火墙环境中如何支持FTP这个问题上的一些混乱。

    基于主动模式的ftp客户端

    基于主动模式的ftp客户端程序,在linux下运行

    FTP主动模式与FTP被动模式

    介绍ftp主动、被动模式特点,及两者的区别!

    FTP的主动被动模式

    在FTP上传文件时,常遇到模式选择,现在在网上搜集了一些FTP的主动、被动模式的用法,分享给朋友们。

    FTP被动模式分析,ftp抓包分析

    FTP 的两种不同工作模式:PORT(主动模式)与PASV(被动模式) 1、首先,我们要了解,FTP 工作的时候,需要用到两个连接:控制连接与数据连接,控制 连接专门用于FTP 控制命令及...主动发起连接,因此被称为主动模式。

    主动FTP和被动FTP

    介绍FTP的二个工作模式 主动与被动 可以帮助你了解FTP的原理

    FTP的主动被动模式.pdf

    FTP的主动被动模式.pdf

    主动模式下载ftp文件

    ftp服务器如果是主动模式,下载方法与被动模式有很大差异,本案例提供主动模式下载方案

    ftpDemo.rar

    Commons Net 实现FTP上传下载等...但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

    ftp主动与被动模式详解

    FTP是仅基于TCP的服务,不支持UDP。 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP工作方式的不同,数据端口并不总是...

    cpp-基于QT的主动FTP客户端

    基于QT的主动FTP客户端

    ftp连接池实例

    并设置此连接为忙的状态,否则就在创建新的连接到连接池中去(有最大的连接池数的限制,不能超过这个连接数,超过的话,就会进入等待状态,直到其它连接释放连接),在执行下载操作的前对登录ftp时间进行判断。...

    ftp主动模式突破防火墙自动上传下载.rar

    配置实现ftp自动上传下载,支持突破本地和服务端防火墙的主动模式上传下载。

    FTP协议详细介绍,包含主动模式和被动模式

    FTP协议详细介绍,包含主动模式和被动模式 FTP协议详细介绍,包含主动模式和被动模式 FTP协议详细介绍,包含主动模式和被动模式 FTP协议详细介绍,包含主动模式和被动模式

    FTP主动模式和被动模式区别详解

     主动模式下,FTP客户端从任意的非特殊的端口(N > 1023)连入到FTP服务器的命令端口–21端口。然后客户端在N+1(N+1 >= 1024)端口监听,并且通过N+1(N+1 >= 1024)端口发送命令给FTP服务器。服务器会反过来连接...

    FTP工作模式

    主要讲述了ftp两种工作模式,既主动模式和被动模式两种

    使用防火墙FTP连接外网失败问题

    从网络搜索了不少资料,基本提到了主动和被动连接的问题,还有关于设置端口例外的问题,参照设置后,问题依旧。 后来,经过多方面层层搜索,终于找到了问题的解决方案: 1、控制面板 --- Windows防火墙 --- 例外 ---...

Global site tag (gtag.js) - Google Analytics