Chinaunix首页 | 论坛 | 博客
  • 博客访问: 60413
  • 博文数量: 17
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-12 20:12
文章分类

全部博文(17)

文章存档

2008年(17)

我的朋友
最近访客

分类: 系统运维

2008-06-03 23:08:37

我也来谈谈FTP的主动与被动
 

很多人或许不知道,FTP的模式会戏剧性地影响到它的运行,甚至带来一系列的网络安全问题。FTP的模式决定了究竟是由FTP SERVER还是由FTP CLIENT来发起TCP连接。FTP支持以下两种模式:

1、第一种模式通常也被认为normal标准模式,虽然我们经常用active模式来提及它,这种模式也是FTP默认的

2、第二种模式就是passive模式。

在active模式下,是由客户端(client)发起控制信令(port 21),去连接server端的21端口,当客户端通过了一系列包括用户名,密码的验证后,需要接收数据时,就是由server端初始化TCP连接,使用20端口与客户端的1023以上的随机端口进行数据通信。

在passive模式下,客户端初始化数据通信,使用的目的端口号是由server端随机提供的。

 

ACTIVE FTP OPERATION

ACTIVE模式下安全性稍差,同时防火墙的配置也较为复杂,它必须预见到FTP SERVER端将主动给CLIENT端做数据发送。主动模式下的具体运行机制如下图所示:


 


 

1、客户端使用源端口5150与server端的21端口通信,请求建立连接。

2、server收到后,发送应答信息,OK(ACK),client and server通过控制端口交换控制信令。

3、当用户请求列出服务端目录或下载数据时,客户端软件会发送PORT命令,并包含有大于1023的随机端口号,告知服务端使用这个端口号将数据发送过来。这里客户端采用了5151端口。

4、服务端打开20端口做为数据发送的源端口,向客户端的5151端口发送。

5、客户端应答,传输过程结束。



 

 

PASSIVE FTP OPERATION

这种模式较为安全,因为所有连接都是由客户端发起,所以连接被窃取的可能性减小了。之所以被称为被动模式,是因为服务端看起来完全是被动的。详细过程如下:


 


 

1、被动模式下,客户端初始化控制信令连接,使用5150源端口与服务端的21端口建立连接,并使用PASSIVE命令请求进入被动模式。

2、服务端同意进入PASSIVE模式,并随机选择一个大于1023的端口号,告知客户端。

3、客户端接收到此信息后,使用自已的5151端口与刚才服务端提供的3268端口进行数据通信,这里5151是源,3268是目的。

4、服务端收到信息,回传数据并发送应答ACK(OK)

阅读(917) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~