参考文章:
http://os.51cto.com/art/201108/285209.htm
http://www.ahlinux.com/server/ftp/16979.html
http://vbird.dic.ksu.edu.tw/linux_server/0410vsftpd.php
一、FTP的主动模式和被动模式
这部分可以参考《鸟哥的Linux私房菜-服务器篇》或者是网上其他人写的一些介绍,基本都介绍得很详细。
主动模式交互的过程如上图所示,
1、客户端会随机取一个大于 1024 以上的端口 (port AA) 来与 FTP 服务器端的 port 21 建立连接,这个过程需要正常建立TCP连接的三次握手。建立连接后客户端便可以透过这个连接来对 FTP 服务器下达命令。
2、通知 FTP 服务器端使用 active 且告知连接的端口号
FTP 服务器的 21 端口主要用在命令的下达,但是当牵涉到数据流时,就不是使用这个连接了。 客户端在需要数据的情况下,会告知服务器端要用什么方式来建立连接,如果是主动式 (active) 连接时, 客户端会先随机启用一个端口 (图 21.1-1 当中的 port BB) ,且透过命令通道告知 FTP 服务器这两个