精华内容
下载资源
问答
  • FTP的主动模式与被动模式FTP服务器使用20和21两个网络端口与FTP客户端进行通信。FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。FTP主动模式:FTP客户端向服务器的FTP控制端口(默认是21)发送连接...

    FTP的主动模式与被动模式

    FTP服务器使用20和21两个网络端口与FTP客户端进行通信。

    FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。

    FTP主动模式:

    FTP客户端向服务器的FTP控制端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路;当需要传送数据时,客户端在命令链路上用PORT的命令告诉服务器我开放了某端口,你过来连接我。于是服务器从20端口向客户端的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立过程中是服务器主动请求,所以称为主动模式。

    当客户端向服务端连接后,使用的是PORT模式,那么客户端B会发送一

    条命令告诉服务端(客户端B在本地打开了一个端口N在等着你进行数据连接),当服务端收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成。

    FTP被动模式:

    FTP客户端向服务器的FTP控制端口(默认21)发送连接请求,服务器接受连接,建立一条命令链路;当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端,我打开了某端口,你过来连我。于是客户端向服务器的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器被动等待客户机的请求,所以称被动模式。

    由上面几点可以看出,FTP服务器的主动与被动模式是以FTP服务器进行数据传送连接的主动或被动为依据的。

    对于FTP服务器与客户机之间存在的网络防火墙,不论是服务器侧还是客户机侧的网 络防火墙设置策略都要保证FTP服务器和客户端之间能够正常建立命令链路和数据链路。

    当客户端B向服务端连接后,使用的是PASV模式,服务端会发信息给客户端,这个信息是(服务端在本地打开了一个端口M,你现在去连接我吧),当客户端收到这个信息后,就可以向服务端的M端口进行连接,连接成功后,数据连接也建立了。

    主动模式下:

    客户机 与 服务器之间建立连接时,客户机是大于1024的端口上,服务器是 20 端口。

    客户机的端口是大于1024的,而服务器的端口是 21 端口接收请求,而是 20 端口给客户机回应。

    允许FTP客户机从大于1024的端口连接服务器的21端口.

    允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接.

    允许FTP服务器从20端口主动连接FTP客户机中大于1024的端口

    允许FTP客户机从大于1024的端口回应来自FTP服务器的20端口的网络连接.

    被动模式下:

    客户机 与 服务器之间建立连接都是在大于1024的端口上的。

    客户机的端口是大于1024的,而服务器的端口是 21 端口接收请求,而是 从大于1024 端口给客户机回应。

    允许FTP客户机从大于1024的端口连接服务器的21端口.

    允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接.

    允计FTP客户机从大于1024的端口连接FTP服务器的大于1024端口.

    允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接

    client开启大于1024(21吧)的X端口连接服务器的21(命令端口),同时开启X+1端口

    当21号端口连接成功后,client会发送PASV命令,通知服务器自己处于被动模式,服务器收到这个消息后,就会开放一个大于1024的端口Y通知client,client接到通知后就会用X+1来连接服务器的Y端口,简单的说就是client主动连接服务器 。

    主动与被动FTP优缺点的简要总结:

    主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。

    被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

    幸运的是,有折衷的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这样,不在这个范围的任何端口会被服务器的防火墙阻塞。虽然这没有消除所有针对服务器的危险,但它大大减少了危险。

    FTP主动与被动的好处和坏处:

    在ISA(工业标准架构体系Industry Standard Architecture是IBM PC兼容机上的一种总线 )的情况,如果采用被动模式,由于IIS是完全随机的选择一个端口,并告知客户,然后客户进行主动连接,这就意味着在ISA上,你要让所有的端口都允许动态入站连接才行,这样肯定不行,因为太危险了,等于打开了所有的端口连。

    如果采用主动模式(PORT Mode),IIS选择好端口后,主动与客户进行连接,这时候不需要像PASV模式那样打开所有的动态入站连接,而且正好相反,我们需要打开所有的动态出站连接即可,安全性增加很多。而且由ISA的IP PACKET FILTER只对ISA本机起作用,不会造成局域网内的客户“放了羊”。

    FTPclient在被动模式下,传送文件使用的是0端口,可以调用setActivePortRange设置主动模式时的端口范围。

    在windows下使用ftpclient时,需要处理windows下一个FTP主被动模式的缺陷,需要运行如下命令:

    netsh advfirewall firewall add rule name=”FTP Service” action=allow service=ftpsvc protocol=TCP dir=in

    netsh advfirewall set global StatefulFTP disable

    展开全文
  • FTP主动模式和被动模式以及java的连接FTP模式设置 (1)PORT(主动模式) PORT中文称为主动模式,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要列表列表或者读取数据时,...

    FTP主动模式和被动模式以及java的连接FTP模式设置

    (1)PORT(主动模式)

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

     

     (2)PASV(被动模式)

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

        2.两种模式的比较

         从上面的运行原来看到,主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器“的端口。

        主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。

        被动模式只需要服务器端开放端口给客户端连接就行了。

    参考文献http://www.cnblogs.com/mawanglin2008/articles/3607767.html

    3.java中,内网用被动模式,外网连接时用主动模式,服务器相应改动(只用上线功能用被动模式去连接ftp报错连接不上)

    FTPClient ftpClient = new FTPClient();

    ftpClient.connect(url,port);

    ftpClient.enterLocalActiveMode(); //主动模式
    // ftpClient.enterLocalPassiveMode(); 被动模式
    ftpClient.setControlEncoding( “UTF-8”);
    ftpClient.changeWorkingDirectory(路径);

    展开全文
  • FTP的主动模式与被动模式FTP服务器使用20和21两个网络端口与FTP客户端进行通信。FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。FTP主动模式:FTP客户端向服务器的FTP控制端口(默认是21)发送连接...

    FTP的主动模式与被动模式

    FTP服务器使用20和21两个网络端口与FTP客户端进行通信。

    FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。

    FTP主动模式:

    FTP客户端向服务器的FTP控制端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路;当需要传送数据时,客户端在命令链路上用PORT的命令告诉服务器我开放了某端口,你过来连接我。于是服务器从20端口向客户端的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立过程中是服务器主动请求,所以称为主动模式。

    当客户端向服务端连接后,使用的是PORT模式,那么客户端B会发送一

    条命令告诉服务端(客户端B在本地打开了一个端口N在等着你进行数据连接),当服务端收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成。

    FTP被动模式:

    FTP客户端向服务器的FTP控制端口(默认21)发送连接请求,服务器接受连接,建立一条命令链路;当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端,我打开了某端口,你过来连我。于是客户端向服务器的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器被动等待客户机的请求,所以称被动模式。

    由上面几点可以看出,FTP服务器的主动与被动模式是以FTP服务器进行数据传送连接的主动或被动为依据的。

    对于FTP服务器与客户机之间存在的网络防火墙,不论是服务器侧还是客户机侧的网 络防火墙设置策略都要保证FTP服务器和客户端之间能够正常建立命令链路和数据链路。

    当客户端B向服务端连接后,使用的是PASV模式,服务端会发信息给客户端,这个信息是(服务端在本地打开了一个端口M,你现在去连接我吧),当客户端收到这个信息后,就可以向服务端的M端口进行连接,连接成功后,数据连接也建立了。

    主动模式下:

    客户机 与 服务器之间建立连接时,客户机是大于1024的端口上,服务器是 20 端口。

    客户机的端口是大于1024的,而服务器的端口是 21 端口接收请求,而是 20 端口给客户机回应。

    允许FTP客户机从大于1024的端口连接服务器的21端口.

    允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接.

    允许FTP服务器从20端口主动连接FTP客户机中大于1024的端口

    允许FTP客户机从大于1024的端口回应来自FTP服务器的20端口的网络连接.

    被动模式下:

    客户机 与 服务器之间建立连接都是在大于1024的端口上的。

    客户机的端口是大于1024的,而服务器的端口是 21 端口接收请求,而是 从大于1024 端口给客户机回应。

    允许FTP客户机从大于1024的端口连接服务器的21端口.

    允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接.

    允计FTP客户机从大于1024的端口连接FTP服务器的大于1024端口.

    允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接

    client开启大于1024(21吧)的X端口连接服务器的21(命令端口),同时开启X+1端口

    当21号端口连接成功后,client会发送PASV命令,通知服务器自己处于被动模式,服务器收到这个消息后,就会开放一个大于1024的端口Y通知client,client接到通知后就会用X+1来连接服务器的Y端口,简单的说就是client主动连接服务器 。

    主动与被动FTP优缺点的简要总结:

    主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。

    被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

    幸运的是,有折衷的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这样,不在这个范围的任何端口会被服务器的防火墙阻塞。虽然这没有消除所有针对服务器的危险,但它大大减少了危险。

    FTP主动与被动的好处和坏处:

    在ISA(工业标准架构体系Industry Standard Architecture是IBM PC兼容机上的一种总线 )的情况,如果采用被动模式,由于IIS是完全随机的选择一个端口,并告知客户,然后客户进行主动连接,这就意味着在ISA上,你要让所有的端口都允许动态入站连接才行,这样肯定不行,因为太危险了,等于打开了所有的端口连。

    如果采用主动模式(PORT Mode),IIS选择好端口后,主动与客户进行连接,这时候不需要像PASV模式那样打开所有的动态入站连接,而且正好相反,我们需要打开所有的动态出站连接即可,安全性增加很多。而且由ISA的IP PACKET FILTER只对ISA本机起作用,不会造成局域网内的客户“放了羊”。

    FTPclient在被动模式下,传送文件使用的是0端口,可以调用setActivePortRange设置主动模式时的端口范围。

    在windows下使用ftpclient时,需要处理windows下一个FTP主被动模式的缺陷,需要运行如下命令:

    netsh advfirewall firewall add rule name=”FTP Service” action=allow service=ftpsvc protocol=TCP dir=in

    netsh advfirewall set global StatefulFTP disable

    展开全文
  • (1) PORT(主动模式) PORT中文称为主动模式,工作的原理: FTP客户端连接到FTP服务器的21端口,发送...FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据,原理如下...

    (1) PORT(主动模式)

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

     

     (2) PASV(被动模式)

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

        2.两种模式的比较

         从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

        主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。

        被动模式只需要服务器端开放端口给客户端连接就行了。

    参考文献 http://www.cnblogs.com/mawanglin2008/articles/3607767.html

    3.java中,内网用被动模式 ,外网连接时用主动模式,服务器相应改动(只用上线功能用被动模式去连接ftp报错连接不上)

    FTPClient ftpClient = new FTPClient();

    ftpClient.connect(url, port);

    ftpClient.enterLocalActiveMode();    //主动模式
    // ftpClient.enterLocalPassiveMode(); 被动模式
    ftpClient.setControlEncoding("UTF-8");
    ftpClient.changeWorkingDirectory(path);

     

    转载于:https://www.cnblogs.com/huhaoshida/p/5412615.html

    展开全文
  • FTP的主动模式与被动模式FTP服务器使用20和21两个网络端口与FTP客户端进行通信。FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。FTP主动模式:FTP客户端向服务器的FTP控制端口(默认是21)发送连接...
  • FTP的主动模式与被动模式 FTP服务器使用20和21两个网络端口与FTP客户端进行通信。 FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。 FTP主动模式: FTP客户端向服务器的FTP控制端口(默认是21)...
  • ## 已经设置被动模式了,还会是防火墙问题吗? ## ftp.retrieveFileStream(file)在这个地方报错,错误信息如下: [20170809 09:09:58.029] java.net.PlainSocketImpl.socketConnect(Native Method) [20170809 09:...
  • Linux安装ftpjava操作

    2018-12-23 23:23:00
    Linux安装ftpjava操作安装ftp下载vsftpd创建一个用户改用户密码放行端口号获取所有内核的参数启动并设置开机自启Windows访问修改为被动模式如果你要卸载ftpjava操作添加依赖 安装ftp 下载vsftpd yum -y install...
  • javaFTP客户端组件

    2011-05-13 17:32:48
    ftp设置被动模式时, 用apache的FTP组件怎么搞都下载不了,不知道是版本问题还是它本身就有问题。后面也不想搞了,就直接换了一个叫 ftp4j的组件,一下就OK了,看来这apache也不能太相信了。...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼//设置被动模式ftpClient.enterLocalPassiveMode();//设置以二进制方式传输ftpClient.setFileType(FTP.BINARY_FILE_TYPE);//检查远程文件是否存在FTPFile[] files = ...
  • 解决FTPClient上传文件为空,显示0字节JAVA使用FTPClient上传文件时...(具体查另外资料)在JAVA中将FTPClient设置被动模式即可解决问题。import org.apache.commons.net.ftp.FTP;import org.apache.commons.net....
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼//设置被动模式ftpClient.enterLocalPassiveMode();//设置以二进制方式传输ftpClient.setFileType(FTP.BINARY_FILE_TYPE);//检查远程文件是否存在FTPFile[] files = ...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼//设置被动模式ftpClient.enterLocalPassiveMode();//设置以二进制方式传输ftpClient.setFileType(FTP.BINARY_FILE_TYPE);//检查远程文件是否存在FTPFile[] files = ...
  • 1.确认登录用户是否有文件夹的权限 2.在确定路径和文件名没有中文的情况下添加以下代码 ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE)...////设置被动模式 Store = ftp.storeFile(destinationfile, in); in.c...
  •  在正式环境上的两台linux服务器中 通过ftp上传文件, 一直没有找到原因, 通过关闭防火墙,设置被动模式,查看ftp用户写入权限等等都没有找到问题 ,折腾了好几天,后来找到原因了。 修改ftp服务器上vsftpd文件 把...
  • 1.首先,程序中设置ftp请求方式为被动模式,即程序去请求ftp服务器,要求服务器来打开一个端口,让客户端传输文件。这是基本的,但是无法避免上传阻塞问题。 2.其次,设置连接超时,数据传输超时等等,也无法避免...
  • Ftp主动模式和被动模式以及java连接ftp模式设置 Ftp主动模式和被动模式以及java连接ftp模式设置 PORT(主动模式) PORT中文称为主动模式,工作的原理: FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,...
  • 过程中遇到的问题:FTP服务器传入入参IP的时候是不需要加前缀的,上传文件有时候需要设置被动模式**ftpClient.enterLocalPassiveMode();//被动模式** package *************; import java.io....
  • //将客户端设置被动模式 ftp.enterLocalPassiveMode();   解决前上传下载代码: package com.bjsxt; import java.io.File; import java.io.FileInputStream; import java.io...
  • 我使用java的FTPClient上传文件...网上说要设置被动模式 ftpClient.enterLocalPassiveMode(),但我代码里已经加了。 后来经过各种实验,发现:若项目和ftp系统在同一台机器上,代码里连接ftp的ip要改成127.0.0.1 ...
  • DrFTPD是用Java编写的分布式FTP服务器,它的独特之处在于它不能像普通FTP服务器一样处理传输。 DrFTPD设置有一个主服务器和一组处理文件传输的文件传输从属,您可以根据需要设置任意数量的文件传输从属。 可以用来...
  • 报错代码: FTPClient ftpClient = new FTPClient(); ftpClient.setConnectTimeout(1000 * 30);//设置连接超时时间 ftpClient.setControlEncoding("utf-8");...//设置被动模式,文件传输端口设置 try { /.
  • 部分服务器 if(command.toUpperCase().startsWith("LIST")){ if(tempsocket==null){ pw.println("请打开被动模式连接数据端口!"); pw.flush(); } else{ list...
  • 一、使用FTPClient上传文件为空 JAVA使用FTPClient上传文件时总是为空,有些资料说...在JAVA中将FTPClient设置被动模式即可解决问题。 **FTPTest.java** package com.taotao.controller; import java....
  • JAVA使用FTPClient上传文件时总是为空,而使用FileZilla客户端时却...在JAVA中将FTPClient设置被动模式即可解决问题。   import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPCli...
  • 一、使用FTPClient上传文件为空 JAVA使用FTPClient上传文件时总是为空,有些资料说...在JAVA中将FTPClient设置被动模式即可解决问题。  **FTPTest.java** package com.taotao.controller; import java.io....

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

ftp设置被动模式java

java 订阅