ftp的port和pasv型号比较
一个、ftp的port和pasv工作方式
FTP使用2个TCPport,首先是建立一个命令port(控制port),然后再产生一个数据port。
国内非常多教科书都讲ftp使用21命令port和20数据port,这个应该是教书更新太慢的原因吧。实际上FTP分为主动模式和被动模式两种。ftp工作在主动模式使用tcp 21和20两个port,而工作在被动模式会工作在大于1024随机port。FTP最权威的參考见RFC 959。有兴趣的朋友能够细致阅读ftp://nic.merit.edu/documents/rfc/rfc0959.txt的文档了解FTP具体工作模式和命令。眼下主流的FTP
Serverserver模式都是同一时候支持port和pasv两种方式,可是为了方便管理安全管理防火墙和设置ACL了解FTP Server的port和pasv模式是非常有必要的。
1.1 ftp port模式(主动模式)
主动方式的FTP是这种:client从一个随意的非特权portN(N>1024)连接到FTPserver的命令port(即tcp 21port)。紧接着client開始监听portN+1,并发送FTP命令“port N+1”到FTPserver。最后server会从它自己的数据port(20)连接到client指定的数据port(N+1)。这样client就能够和ftpserver建立传输数据通道了。ftp port模式工作流程例如以下图所看到的:

针对FTPserver前面的防火墙来说,必须同意下面通讯才干支持主动方式FTP:
1、客户port>1024port到FTPserver的21port (入:client初始化的连接 S<-C)
2、FTPserver的21port到client>1024的port(出:server响应client的控制port S->C)
3、FTPserver的20port到client>1024的port(出:server端初始化数据连接到client的数据port S->C)
4、client>1024port到FTPserver的20port(入:client发送ACK响应到server的数据port S<-C)
假设server的ip为192.168.10.1在H3C 8500的GigabitEthernet 2/1/10 上创建in acl策略同意ftp 主动模式其它禁止:
rule permit tcp source 192.168.10.1 0 source-port eq 21 destination-port gt 1024
rule permit tcp source 192.168.10.1 0 source-port eq 20 destination-port gt 1024
rele deny ip
1.2 ftp pasv模式(被动模式)
在被动方式FTP中,命令连接和数据连接都由client。
当开启一个FTP连接时,client打开两个随意的非特权本地port(N > 1024和N+1)。第一个port连接server的21port,但与主动方式的FTP不同,client不会提交PORT命令并同意server来回连它的数据port。而是提交PASV命令。这样做的结果是server会开启一个随意的非特权port(P > 1024)。并发送PORT P命令给client。然后client发起从本地portN+1到server的portP的连接用来传送数据。ftp pasv模式工作流程例如以下图所看到的:

对于server端的防火墙来说。必须同意以下的通讯才干支持被动方式的FTP:
1、client>1024port到server的21port (入:client初始化的连接 S<-C)
2、server的21port到client>1024的port (出:server响应到client的控制port的连接 S->C)
3、client>1024port到server的大于1024port (入:client初始化数据连接到server指定的随意port S<-C)
4、server的大于1024port到远程的大于1024的port(出:server发送ACK响应和数据到client的数据port S->C)
假设server的ip为192.168.10.1在H3C 8500的GigabitEthernet 2/1/10 上创建in acl策略同意ftp 主动模式其它禁止:
rule permit tcp source 192.168.10.1 0 source-port eq 21 destination-port gt 1024
rule permit tcp source 192.168.10.1 0 source-port gt 1024 destination-port gt 1024
rele deny ip
二、ftp的port和pasv模式的工作方式
ftp的port和pasv模式最主要差别就是数据端口连接方式不同,ftp port模式仅仅要开启server的21和20端口,而ftp pasv须要开启server大于1024全部tcp端口和21端口。重网络安全的角度来看的话似乎ftp port模式更安全。而ftp pasv更不安全,那么为什么RFC要在ftp port基础再制定一个ftp pasv模式呢?事实上RFC制定ftp pasv模式的主要目的是为了数据传输安全角度出发的。由于ftp port使用固定20端口进行数据传输,那么作为黑客非常容使用sniffer等探嗅器抓取ftp数据,这样一来通过ftp
port模式数据传输非常easy被黑客窃取,因此使用pasv方式来架设ftp server是最安全绝佳方案。
假设作为一个有经验的网络管理员就会发现使用ftp pasv方式会给网络安全非常大隐患,那就是ftp pasv须要开启servertcp大于1024全部port,这样对server的安全保护是非常不利的。在此我建议两种方法来完好FTP Pasv模式的port开放问题,第一种就是使用弱洞扫描工具比方Xscan找出server开放的port然后使用acl把portdeny掉,第二种方法就是使用具有状态检測防火墙开启ftp pasv的port。
在ftp pasv模式下是使用状态检測防火墙比acl最大的优点就是使用状态检測防火墙仅仅要开启ftp 21port就能够了。状态检測防火墙会检測客户port连接ftp server的21命令port,一但检測client使用ftp 21命令port然后就会同意这个Session使用ftpserver大于1024port。而其它方式是无法直接訪问ftpserver大于1024port。通过状态检測防火墙就能够保证ftp server大于1024port仅仅对FTP Session开放了。
眼下像IPTable、ISA Server 2000/2004/2006、以及主流硬件防火墙都能够支持状态检測。
转自:http://leowzy.iteye.com/blog/1279265
版权声明:本文博客原创文章,博客,未经同意,不得转载。
ftp的port和pasv型号比较的更多相关文章
- FTP的PORT和PASV的连接方式以及数据连接端口号计算
FTP的PORT和PASV的连接方式以及数据连接端口号计算 PORT(自动)方法的连接途中是: 客户端向服务器的FTP端口(原始是21)发送连接请求,服务器领受连接,建立一条command链路. ...
- FTP的PORT(主动模式)和PASV(被动模式)
最近做一个项目用到FTP和其它系统进行文件传输,结果在FTP网络连接的问题上花了很多时间,由于太久没搞多FTP,忘记了FTP不单单开放21端口,客户端采用不同连接模式对网络有不同.在此重温一下FTP的 ...
- FTP出现PORT模式成功, 请更新你的站点配置文件
最近用FTP连接站点,经常出现连接不上或者连接失败,提示以PASV模式连接失败,正在使用PORT模式连接,最后才能连接成功,连接时间也是相当长,又慢又不稳定. 工具/原料 FlashFXP等F ...
- FTP Service mode : PORT & PASV
PORT Mode: 1. FTP client use TCP port 1026 for command to FTP server command port 212. FTP server us ...
- ftp:500 Illegal PORT command. 425
局域网用FTP命令访问外网的FTP SERVER,执行任何命令(如dir,ls,put,get)总是报下面的错误ftp:500 Illegal PORT command. 425ftp:Use POR ...
- android(十五) FTP的两种工作模式
(一)PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链 当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了 ...
- FTP的连接方式(防火墙的配置)
FTP是仅基于TCP的服务,不支持UDP.与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口).通常来说这两个端口是21(命令端口)和20(数据端口). ...
- 98、配置ftp服务器(vsftpd)
98.1.安装vsftpd: 1.安装: [root@m01 ~]# yum install -y vsftpd #安装vsftpd [root@m01 ~]# vsftpd -v #查看ftp的版本 ...
- FTP基础知识 FTP port(主动模式) pasv(被动模式) 及如何映射FTP
您是否正准备搭建自己的FTP网站?您知道FTP协议的工作机制吗?您知道什么是PORT方式?什么是PASV方式吗?如果您不知道,或没有完全掌握,请您坐下来,花一点点时间,细心读完这篇文章.所谓磨刀不误砍 ...
随机推荐
- 基于Android 下载文件时,更新UI简单帮助类
因为在项目开发时.有这种简单需求,问谷歌,网络上也有好多Utils工具类,可是比較冗余.自己就简单的写了一个简单帮助类. /** * 下载文件,更新UI简单帮助类 * * @author jarlen ...
- (23)unity4.6学习Ugui中国文档-------非官方Demo1
大家好,我是广东太阳. 转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unitym ...
- HTML contact form with CAPTCHA
http://www.html-form-guide.com/contact-form/html-contact-form-captcha.html#codedownload
- ASP.NET WebForm / MVC 源码分析
浏览器 Url:https//localhost:6565/Home/Index ,https//localhost:6565/WebForm1.aspx,请求服务器(构建请求报文,并且将请求报文发送 ...
- Android调试优化篇
为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场 ...
- android删除文件出错
当删除一个文件,再又一次下载这个同名文件,保存到sdcard时出现error,部分手机出现 Caused by: libcore.io.ErrnoException: open failed: EBU ...
- Unity3D之Vector3.Dot和Vector3.Cross采用
在Unity3D中.Vector3.Dot表示求两个向量的点积;Vector3.Cross表示求两个向量的叉积. 点积计算的结果为数值,而叉积计算的结果为向量.两者要注意差别开来. 在几何数学 ...
- Android数据库专家秘籍(七)经验LitePal查询艺术
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/40153833 经过了多篇文章的学习,我们已经把LitePal中的绝大部分内容都掌握 ...
- Java 过滤器的作用
Servlet API 非常久曾经就已成为企业应用开发的基石,而 Servlet 过滤器则是对 J2EE 家族的相对较新的补充.在 J2EE 探索者 系列文章的最后一篇中,作者 Kyle Gabhar ...
- 重新想象 Windows 8 Store Apps (22) - 文件系统: 访问文件夹和文件, 通过 AQS 搜索本地文件
原文:重新想象 Windows 8 Store Apps (22) - 文件系统: 访问文件夹和文件, 通过 AQS 搜索本地文件 [源码下载] 重新想象 Windows 8 Store Apps ( ...