游戏网站排行榜前十名,帮中介做网站赚钱吗,阿里巴巴外发加工网手工,公司网络推广平台一#xff1a;概述 FTP协议是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议#xff0c;其英文全称是File Transfer Protocol。是TCP/IP协议簇中的重要一员。客户端和服务器按照FTP的协议规范进行通讯来实现文件传输。 对于FTP服务器好理解#xff0c…一概述 FTP协议是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议其英文全称是File Transfer Protocol。是TCP/IP协议簇中的重要一员。客户端和服务器按照FTP的协议规范进行通讯来实现文件传输。 对于FTP服务器好理解是对外提供FTP服务的机器。对于客户端怎么去连接服务器呢在windows上可以通过ftp命令来进行连接也可以通过第三方的FTP的客户端程序来连接服务器场景的FTP客户端程序有FileZilla。 FTP的出现极大方便了早期在互联网中的文件传输时至今日也是文件传输不可或缺的一员。FTP协议的诞生实现了如下目标
促进文件的共享计算机程序或数据鼓励间接或者隐式的使用远程计算机向用户屏蔽不同主机中各种文件存储系统File system的细节可靠和高效的传输数据。 二FTP工作模式 谈FTP的工作模式之前需简单了解一下FTP建立连接的过程。 我们知道HTTP传输数据前需要进行TCP的三次握手。同样FTP也是工作上TCP之上但是与HTTP连接不同的是FTP需要建立两次连接才能完成一次完整的文件传输服务。第一次连接我们称之为控制连接第二次连接称为数据连接。两次连接缺一不可这也是FTP和其他应用层协议的独特之处。 FTP也有其专属的知名端口默认情况下FTP使用20和21这两个端口其中20用于数据连接传递数据21用于控制连接传递控制信息。但是是否使用20作为传输数据的端口与FTP使用的传输模式有关如果采用主动模式那么数据传输端口就是20如果采用被动模式则具体最终使用哪个端口要服务器端和客户端协商决定。
1主动方式 主动方式也称为PORT方式是FTP协议最初定义的数据传输连接方式主要特点是: FTP客户端通过向FTP服务器发送PORT命令告诉服务器该客户端用于传输数据的临时端口号当需要传送数据时服务器通过TCP端口号20与客户端的临时端口建立数据传输通道完成数据传输。在建立数据连接的过程中由服务器主动发起连接因此被称为主动方式。 我们来通过FTP主动连接模式的报文来具体了解一下连接的过程
首先FTP在进行控制连发起前需要先进行基本用户登录认证以及文件列表获取等操作
1.由客户端发起FTP连接请求FTP协议基于TCP于是先进行TCP三次握手连接连接服务器21端口 2TCP三次握手建立成功后服务器也知道了客户端需要请求FTP服务于是要求客户端提供相应的用户名客户端在进行FTP连接时需要发送用户名和密码信息 3客户端收到服务器的验证需求后接下来就是连接的验证工作了发送用户名 user zte 4.服务器收到后确认用户名OK此时需要客户端提供连接的密码password 5.客户端发送password 6服务器端用户名密码验证成功允许用户登录 7由客户端发送PORT命令同时自己随机生成一个数据端口并将该端口信息通过控制链路发送给服务器服务器收到PORT命令之后此时就知道自己是处于主动模式 8服务器开始与客户端建立数据链接服务器主动发起连接请求还是先进行三次握手可以看到用到的端口号就是上面协商的5001 9连接建立好后传输数据 10数据传输完由服务器断开链接 2被动模式
被动方式也称为PASV方式被动方式的主要特点是: FTP客户端通过向FTP服务器发送PASV命令告诉服务器进入被动方式。服务器选择临时端口号并告知客户端当需要传送数据时客户端主动与服务器的临时端口号建立数据传输通道完成数据传输。在整个过程中由于服务器总是被动接收客户端的数据连接因此被称为被动方式。 同样我们通过具体的报文来展示FTP被动连接的精彩过程
1.由客户端发起FTP连接请求和主动连接一样还是先进行TCP三次握手连接连接服务器21端口 2TCP三次握手建立成功后服务器也知道了客户端需要请求FTP服务于是要求客户端提供相应的用户名客户端在进行FTP连接时需要发送用户名和密码信息在此就不一一展示报文仅在报文上展示这部分与上面的主动连接一致具体可以查看上边的报文 3客户端发送“PASV”命令 4服务器收到PASV命令后知道自己此时为被动方式则开始生成随机的数据端口以提供给客户端进行数据连接的时候使用服务器开放自己的1443端口供客户端连接 5接下来就是FTP的操作命令了然后建立数据连接首先还是三次握手由客户端主动发起目的端口号就是上面协商的1443 6然后传输数据可以看到数据是一个目录 三两种工作模式的应用场景 当FTP服务器与FTP客户端均处于同一局域网内即两者之间互访不存在防火墙或其他安全设备时主动方式、被动方式均可实现FTP文件分发共享。 如果FTP服务器处于路由器防火墙或其他NAT设备之后建议使用被动模式passive mode。因为在主动模式下传输数据时由FTP发起的数据传输一般会被客户端网关的防火墙阻断。
关于主动与被动FTP优缺点的简要总结 主动FTP对FTP服务器的管理有利但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接而这个端口很有可能被客户端的防火墙阻塞掉。 被动FTP对FTP客户端的管理有利但对服务器端的管理不利。因为客户端要与服务器端建立两个连接其中一个连到一个高位随机端口而这个端口很有可能被服务器端的防火墙阻塞掉。 针对上述防火墙带来的问题有折衷的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接那么必须得支持被动FTP。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这样不在这个范围的任何端口会被服务器的防火墙阻塞。虽然这没有消除所有针对服务器的危险但它大大减少了危险。