一个、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型号比较的更多相关文章

  1. FTP的PORT和PASV的连接方式以及数据连接端口号计算

    FTP的PORT和PASV的连接方式以及数据连接端口号计算   PORT(自动)方法的连接途中是: 客户端向服务器的FTP端口(原始是21)发送连接请求,服务器领受连接,建立一条command链路. ...

  2. FTP的PORT(主动模式)和PASV(被动模式)

    最近做一个项目用到FTP和其它系统进行文件传输,结果在FTP网络连接的问题上花了很多时间,由于太久没搞多FTP,忘记了FTP不单单开放21端口,客户端采用不同连接模式对网络有不同.在此重温一下FTP的 ...

  3. FTP出现PORT模式成功, 请更新你的站点配置文件

    最近用FTP连接站点,经常出现连接不上或者连接失败,提示以PASV模式连接失败,正在使用PORT模式连接,最后才能连接成功,连接时间也是相当长,又慢又不稳定.   工具/原料   FlashFXP等F ...

  4. 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 ...

  5. ftp:500 Illegal PORT command. 425

    局域网用FTP命令访问外网的FTP SERVER,执行任何命令(如dir,ls,put,get)总是报下面的错误ftp:500 Illegal PORT command. 425ftp:Use POR ...

  6. android(十五) FTP的两种工作模式

    (一)PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链 当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了 ...

  7. FTP的连接方式(防火墙的配置)

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

  8. 98、配置ftp服务器(vsftpd)

    98.1.安装vsftpd: 1.安装: [root@m01 ~]# yum install -y vsftpd #安装vsftpd [root@m01 ~]# vsftpd -v #查看ftp的版本 ...

  9. FTP基础知识 FTP port(主动模式) pasv(被动模式) 及如何映射FTP

    您是否正准备搭建自己的FTP网站?您知道FTP协议的工作机制吗?您知道什么是PORT方式?什么是PASV方式吗?如果您不知道,或没有完全掌握,请您坐下来,花一点点时间,细心读完这篇文章.所谓磨刀不误砍 ...

随机推荐

  1. eclipse重构详解(转)

    重构是对软件内部结构的一种调整,目的是在不改变软件行为的前提下,提高其可理解性,降低其修改成本.开发人员可以使用一系列重构准则,在不改变软件行为的前提下,调整软件的结构. 有很多种原因,开发人员应该重 ...

  2. meta标签详解:源http://blog.csdn.net/kongjiea/article/details/17092413

    一.大众机型常用meta标签name的设置 1.name之viewport <meta name="viewport" content=""> 说明 ...

  3. 软件測试系统文章(文件夹&amp;链接在此)

    前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...

  4. SQLSERVER图片查看工具SQL Image Viewer5.5.0.156

    原文:SQLSERVER图片查看工具SQL Image Viewer5.5.0.156 SQLSERVER图片查看工具SQL Image Viewer5.5.0.156 在2013年某一次北京SQL ...

  5. Windows 8 应用开发 - 应用栏

    原文:Windows 8 应用开发 - 应用栏      通过应用栏(AppBar)可以在需要时向用户显示各种应用命令.应用栏提供与用户当前页面或当前选定的内容相关的各种命令.默认情况下,应用栏处于隐 ...

  6. Java / Android 基于Http的多线程下载的实现

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/26994463 有个朋友需要个多线程现在的例子,就帮忙实现了,在此分享下~ 先说下 ...

  7. 使用CSS如何悬停背景颜色变色 onmouseover、onmouseout

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. [033] 微信公众帐号开发教程第9篇-QQ表情的发送与接收

    我想大家对QQ表情一定不会陌生,一个个小头像极大丰富了聊天的乐趣,使得聊天不再是简单的文字叙述,还能够配上喜.怒.哀.乐等表达人物心情的小图片.本文重点要介绍的内容就是如何在微信公众平台使用QQ表情, ...

  9. 重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口

    原文:重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口 [源码下载] 重新想象 Windows 8 Store Apps (2 ...

  10. 【原创】编写多线程Python爬虫来过滤八戒网上的发布任务

    目标: 以特定语言技术为关键字,爬取八戒网中网站设计开发栏目下发布的任务相关信息 需求: 用户通过设置自己感兴趣的关键字或正则表达式,来过滤信息. 我自己选择的是通过特定语言技术作为关键字,php.j ...