java ftp主动模式与被动模式
首先介绍一下主动模式与被动模式:
1、PORT(主动模式)
ftpClient.enterLocalActiveMode();
PORT中文为主动模式,工作的原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据的时候,客户端随机开放一个端口(1024以上),发送PORT命令道FTP服务器,告诉服务器客户端采用主动模式并开放端口;
FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的宽口连接,发送数据,原理如下图:
2、PASV(被动模式)
// ftpClient.enterLocalPassiveMode();
PASV是Passive的缩写,中文称为被动模式,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令道FTP服务器,服务器在本地随机开放一个端口(1024以上),然后把开放的宽口告诉客户端,客户端再次连接到服务器开放的端口进行数据传输,原理如下图:
两种模式的比较
从上面的运行来看,主动模式和被动模式的不同简单的可以概述为:
主动模式传输数据时是“服务器”连接到“客户端”的端口;
被动模式是“服务器”开放端口给客户端连接;
建议
内网使用被动模式,外网使用主动模式,服务器相应改动
java ftp主动模式与被动模式的更多相关文章
- Ftp主动模式和被动模式以及java连接ftp模式设置
Ftp主动模式和被动模式以及java连接ftp模式设置 https://www.cnblogs.com/huhaoshida/p/5412615.html (1) PORT(主动模式) PORT中文称 ...
- FTP主动模式和被动模式
FTP主动模式和被动模式 FTP是仅基于TCP的服务,不支持UDP.与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口).通常来说这两个端口是21(命令端口)和20(数据端口 ...
- FTP 主动模式 与被动模式
今天在被电信运营商给的没有内网ip被nat后的内网ip访问我的ftp服务器时出现了,连接被关闭的错误,经过多番查询发现问题原因是因为NAT内网ip没有被有效地转换为外网ip,也即是说NAT对ftp协议 ...
- [转] FTP主动模式和被动模式的区别
转自原文FTP主动模式和被动模式的区别 基础知识: FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口).通常2 ...
- FTP主动模式与被动模式,及java FTPClient模式设置
FTP的主动模式与被动模式 FTP服务器使用20和21两个网络端口与FTP客户端进行通信. FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据. FTP主动模式: FTP客户端向 ...
- [服务]ftp主动模式和被动模式
经常忘记这个东西.于是总结下这东西感受下这个协议. FTP连接方式 控制连接:标准端口为21,用于发送FTP命令信息 数据连接:标准端口为20,用于上传.下载数据 数据连接的建立类型: 主动模式:服务 ...
- ftp主动模式与被动模式交互过程分析
1.相关介绍 1.1主动模式和被动模式 主动模式:服务端通过指定的数据传输端口(默认20),主动连接客户端提交的端口,向客户端发送数据. 被动模式:服务端采用客户端建议使用被动模式,开启数据传输端口的 ...
- FTP主动模式和被动模式的区别
基础知识: FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口).通常21端口是命令端口,20端口是数据端口.当 ...
- 【转】FTP主动模式和被动模式的比较
总是记不住FTP主动和被动模式的区别.放在这里,以备日后查阅. FTP是仅基于TCP的服务,不支持UDP.与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口).通常来说这 ...
随机推荐
- centos6.9发送邮件功能
centos6.9发送邮件功能 第一个里程碑 测试发邮件的功能 系统环境centos 6.9 #配置发邮件 /etc/mail.rc中追加 set bsdcompat set fr ...
- linux中文件名有英文括号的问题
文件名包含“()”的文件,输入“(“后按TAB键无法补全,手动输入文件全名也删除不了:提示bash: syntax error near unexpected token `('错误. 在linux中 ...
- C语言强化——字符串(2)
1.将包含字符数字的字符串分开,使得分开后的字符串前一部分是数字后一部分是字母.例 如"h1ell2o3" -> "123hello" #include& ...
- MariaDB基础命令
关闭防火墙和selinux #systemctl stop firewalld 安装服务端和客户端mariadb # yum install mariadb-server mariadb -y mar ...
- pandas中一列含有多种数据类型的转换:科学计算法转浮点数、字符映射
import pandas as pd import re def getNum(x): """ 科学计数法和字符转浮点数 """ if r ...
- (转)查询或修改iPhone的短信服务中心号码(iOS通用)
有些时候会有提示你自己的iPhone无法发送短信,原因是没有设置短信中心号码,下面就介绍一下如何设置iPhone的短信中心号码和iPhone查看短信中心号码的方法.(iOS通用) iPhone的设置短 ...
- html代码段
添加icon<link rel="shortcut icon" href="img/100du.ico"/>
- delphi版本对应
delphi 7 delphi 8delphi 2005 ----- 9delphi 2006 ----- 10 delphi 2007 ----- 11delphi 2009 ----- 12 de ...
- js之DOM
DOM对象 什么是HTML DOM HTML Document Object Model(文档对象模型) HTML DOM 定义了访问和操作HTML文档的标准方法 HTML DOM 把 HTML ...
- python-docx编辑word表格
一.修改数据类型(中英) 需求: 代码: #-*-coding:gbk*- import os import docx #from docx.enum.table import WD_TABLE_AL ...