通过8uftp客户端连接FTP服务器来感受防火墙下FTP主动模式和被动模式的区别
通过8uftp客户端连接FTP服务器来感受防火墙下FTP主动模式和被动模式的区别。
总结:两种模式的本质差别其实就在下面的红字部分。
主动模式:由服务器主动连接客户机建立数据链路。
(1)建立命令链路:
①FTP 客户机由大于 1024 的的 N 端口向 FTP 服务器的 21 号端口发出一个连接请求,请
求建立命令链路,
②然后 FTP 服务器由 21 号端口向客户机的 N 端口回应,确认建立命令链路;
(2)建立数据连接链路:
①FTP
服务器的 20 号端口会向客户端的 N+1 号端口发送一个连接请求主动建立数据链路连接,
②FTP 客户端由 N+1 号端口向 FTP 服务器的 20 号端口回应后确认建立一个数据链路,进行数据传输。
被动模式:FTP 服务器等待客户机建立数据链路。
(1)建立命令链路
①FTP 客户机由大于 1024 的 N 号端口向 FTP 服务器的 21 号端口发出一个连接请求,请求建立命令链路,
②FTP 服务器由 21 号端口向 FTP 客户机的 N 端口回应,确认建立一个命令链路;
(2)建立数据连接链路
①FTP
服务器会通过已经建立的命令链路通知客户机自己已经打开了一个大于1024 的端口 X,用于建立数据链路,
②当需要传输数据时,FTP 客户机会通过 N+1 号端口向FTP 服务器的 X 号端口请求建立数据链路,数据链路建立成功后进行数据传输。
演示实验器材:
以及
step1: 先手动配置两台机子的IP在同一网段。然后在Win2003上搭建FTP站点(借助IIS组件)
step2:开启服务器Win2003的防火墙,并将命令链路端口21和数据链路端口20加入到开放规则中。
这就说明任何客户机只能通过20和21端口进行访问服务器。别的端口都不行。
step3:打开XP客户端,在8uftp中建一个新站点,名称任选,这里起名为FTP,然后输入FTP服务器端的IP地址。
上面都是准备工作,下面重点来了。我们马上就会看到 当服务器有防火墙时,FTP客户端选择的两种连接模式的差别。
一、先选主动模式。
二、当选择被动模式时。
总结:
其实就是因为在被动模式下:服务器的数据传输端口是随机的,不一定是20,但是由于防火墙存在,只有20,21端口是开放的,其他端口的访问都会被屏蔽。
而在主动模式下,数据传输端口一定是20,不可能是别的,正好防火墙开放了这个端口,所以可以正常连接。
因此,有防火墙的时候还是选取主动模式好,没防火墙的情况下随便选。