何为主动模式,何为被动模式

1、ftp采用两个端口控制:

  • 20端口用于数据传输.
  • 21端口用于控制,或指建立TCP连接.

2、主动方式连接过程:

[注意]:C表示客户端 S表示服务器端

  • S端要开启20、21端口;
  • C端一个随机端口连接S端21,这个随机范围1024-65536,同时发送命令port+x,指明数据端口C(X)->S(21);
  • S端收到命令后,将返回一个ACK,S(21)->C(X);
  • S端将用自己的20端口与C端的X+1端口相连,S(20)->C(X+1);
  • C给S返回ACT,C(X+1)->S(20).

3、被动方式连接过程:

[注意]:C表示客户端 S表示服务器端

  • S服务器端要开启21端口和大于1024tcp端口;
  • C以一个随机端口X与S的21端口相连, 这个随机端口范围为1024~65535, 并发送命令 PASV. C(X) -> S(21)
  • S收到命令, 返回一个ACK, 并在其中指明一个新的高位端口y. S(21) -> C(x)
  • C发起 x+1端口到S的y的端口的连接.C(x+1) -> S(y)
  • S返回一个ACK. S(y) ->C(x+1)

二 用事例说明主动模式和被动模式的区别

1、VSFTP安装

yum install vsftpd -y

2、关闭iptables和selinux

具体安全设置,可根据情况而定。

3、主动模式的配置方法

connect_from_port_20=YES
#主动式连接使用的数据通道 pasv_enable=NO
#支持数据流的被动式连接模式

其余配置,可根据需求而定

4、被动模式的配置方法

connect_from_port_20=NO
#主动式连接使用的数据通道 pasv_enable=YES
#支持数据流的被动式连接模式
pasv_min_port=
pasv_max_port= pasv_address (Default: (none - the address is taken from the incoming connected socket) ) pasv模式中服务器传回的ip地址

其余配置,可根据需求而定

5、启动

chkconfig --level 2345 vsftpd on

/etc/init.d/vsftpd start

6、查看连接状态

其中S是服务端IP,C是客户端IP
被动模式
# netstat -an |grep C 
tcp        0      0 S:52160         C:16091          TIME_WAIT  
tcp        0      0 S:21            C:15354          TIME_WAIT  
tcp        0 434064 S:43407         C:16220          ESTABLISHED 
tcp        0      0 S:21            C:16090         ESTABLISHED

主动模式
# netstat -an |grep C
tcp        0 268488 S:20            C:18434          ESTABLISHED 
tcp        0      0 S:21            C:18433          TIME_WAIT  
tcp        0      0 S:20            C:18426          TIME_WAIT  
tcp        0      0 S:21            C:18425          TIME_WAIT  
tcp        0      0 S:21            C:18418          TIME_WAIT  
tcp        0      0 S:20            C:18420          TIME_WAIT  
tcp        0      0 S:21            C:18369          TIME_WAIT  
tcp        0      0 S:20            C:18397          TIME_WAIT  
tcp        0      0 S:21            C:18387          ESTABLISHED

[注意:]

Vsftp主动模式和被动模式是可以共存的。

主动模式和被动模式的区别在于,主动模式下,ftp采用的是20端口传送数据,而被动模式下,ftp采用的是大于1024的随机端口。所以被动模式下,必要关闭防火墙!

05-04 10:24