FTP概述FTP(File Transfer Protocol)文件传输协议,在TCP/IP协议族中属于应用层协议运行于TCP协议之上是一种可靠的传输协议,主要功能用于实现用户间文件分发共享,以及网络管理者在进行设备版本升级、日志下载和配置保存等业务操作时,均会使用到FTP功能 。
搭建FTP站点FTP协议采用C/S结构,通常我们在实现FTP功能时需要在服务器上配置IIS来实现FTP-Server端的配置,这种配置方式适合于比较了解操作系统的用户去操作;对于大部分非专业用户来说推荐使用相应的FTP软件来实现FTP-Server端的搭建 。
常见的FTP-Server软件有Serv-U、FileZilla 、VsFTP 等 。FTP-Server搭建完成之后,Client访问时可以通过ftp://x.x.x.x方式访问,也可以通过第三方软件访问 。如:SmartFTP、FireFTP、8UFTP 。
关于具体的FTP-Server搭建操作步骤不再详细赘述 。
FTP的两个TCP连接:
控制连接(TCP 21端口)主要用于实现FTP协议控制信令传送,服务器端打开TCP 21端口被动等待客户端发起连接命令;客户端则以主动方式打开随机端口,发起连接的建立请求 。
数据连接(TCP 20端口)主要用于实现应用数据传送,服务器的数据连接端使用端口20 。服务器执行主动打开数据连接,通常也执行主动关闭数据连接。
文章插图
FTP连接建立方式一、主动方式
主动方式也称为PORT方式,是FTP协议最初定义的数据传输连接方式,主要特点是:
FTP客户端通过向FTP服务器发送PORT命令,告诉服务器该客户端用于传输数据的临时端口号当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输 。在建立数据连接的过程中,由服务器主动发起连接,因此被称为主动方式 。
文章插图
主动方式FTP建立交互过程
二、被动方式
被动方式也称为PASV方式,被动方式的主要特点是:
FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式 。服务器选择临时端口号并告知客户端当需要传送数据时,客户端主动与服务器的临时端口号建立数据传输通道,完成数据传输 。在整个过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式 。
文章插图
被动方式FTP建立交互过程
FTP主动、被动方式的选择当FTP服务器与FTP客户端均处于同一局域网内,即两者之间互访不存在防火墙或其他安全设备时,主动方式、被动方式均可实现FTP文件分发共享 。
如果FTP服务器处于路由器,防火墙或其他NAT设备之后,建议使用被动模式(passive mode) 。因为在主动模式下传输数据时,由FTP发起的数据传输一般会被客户端网关的防火墙阻断 。
关于主动与被动FTP优缺点的简要总结:
主动FTP对FTP服务器的管理有利,但对客户端的管理不利 。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉 。
被动FTP对FTP客户端的管理有利,但对服务器端的管理不利 。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉 。
针对上述防火墙带来的问题,有折衷的办法 。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP 。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露 。这样,不在这个范围的任何端口会被服务器的防火墙阻塞 。虽然这没有消除所有针对服务器的危险,但它大大减少了危险 。
下述内容通过实验详细介绍了两种方式的建立过程:
FTP被动模式
文章插图
如图示192.168.1.1为FTP-Server,192.168.1.2为FTP-Client,使用被动方式建立过程如下:
首先FTP在进行控制连发起前,需要先进行基本用户登录认证以及文件列表获取等操作;
1.由客户端发起FTP连接请求,FTP协议基于TCP,于是先进行TCP三次握手连接,连接服务器21端口;
推荐阅读
- 用户态协议栈设计实现udp,arp与icmp协议
- 露华浓达成避免破产协议-露华浓为申请破产作准备
- 离婚协议书怎么写才有法律效力?
- 手把手教你在netty中使用TCP协议请求DNS服务器
- 盲人入住酒店无人陪护遭拒-盲人入住酒店安全协议
- 阿塞拜疆指控亚美尼亚袭击平民-阿塞拜疆指控亚方违反停火协议
- 工程承包协议书要这样写,快来看看吧 工程承包协议书
- 品牌转让协议书范本 品牌转让协议
- 既然HTTP/3正式发布了,那么咱们来深入理解HTTP/3协议
- 浅谈远程教育学习心得 远程教育心得体会