in

文件传输协议解释:您需要了解的一切

关键点

  • 通过ftp传输的文件未加密,更容易受到恶意拦截。
  • 传输过程没有可见性。这意味着除了手动检查传输文件的状态之外,无法知道文件传输是否失败或中断。
  • 无法使用ftp自动化高容量文件传输。
  • ftp不符合安全连接的合规要求。
  • ftp可以使用portpasv命令在主动模式或被动模式下建立。
  • ftp已被http(超文本传输协议)取代,成为标准的网站传输协议。
  • 美国联邦调查局(fbi)曾经警告过ftp的脆弱性,并建议不要使用ftp。

文件传输协议(ftp)是一种标准通信协议,用于在同一个网络中从服务器向客户端传输计算机文件。它用于管理服务器或客户端设备上的文件。这意味着文件可以被下载、上传、创建、删除、传输、加密以实现安全连接等。它是用于客户服务器关系管理的基础协议。大多数允许访问者下载文件或只显示网页的互联网项目都使用ftp、ftps或ssh文件传输协议。

ftp被广泛应用,并已开发出适用于桌面、服务器、移动设备和智能硬件的应用程序。该协议本身已集成到生产力应用程序中。例如,html编辑器内置了ftp功能。

快速事实

创建时间
1971年4月16日
创建者
abhay bhushan
最初用途
用于在服务器和客户端之间传输计算机文件的标准通信协议。
费用
免费

文件传输协议:历史

文件传输协议起源于1971年,允许传输文件,但这些文件未加密,使其容易受到拦截。

©istock.com/stuartmiles99

最初的ftp规范是由abhay bhushan撰写的。ftp于1971年4月16日在rfc 114下发布。随后,它经过许多迭代和rfc标准,最终被tcp/ip取代。

ftp已经多次修订,以适应不同的rfc标准,例如rfc 765(于1980年6月发布),rfc 959(于1985年10月发布,仍然是当前的规范),rfc 1579(是rfc 959的修订,于1994年2月启用了防火墙友好的ftp),以及rfc 2228(是rfc 959的修订,于1998年9月添加了对ipv6的支持)。

通俗地讲,文件传输协议(ftp)是一组计算机指令和规则,定义了用于将数字文件从一台计算机(例如服务器)移动到另一台计算机(例如连接到互联网的个人计算机)的方法。

它的创建目的是为了在网络系统上实现数据传输。具体而言,它旨在处理计算机文件,因此称为文件传输协议。一个使用或曾经使用ftp的日常过程的很好例子是从网站(服务器)下载文件。

随着网络和构成网络的设备的不断发展,文件和连接类型也在不断进步。起初,连接通过简单的明文登录协议保持安全。这意味着用户只需要有效的用户名和密码即可获得服务器访问权限。

有些服务器甚至允许用户匿名访问。需要更安全连接的操作通常使用用户名和密码系统,通常使用ssl/tls(ftps)或ssh文件传输协议(sftp)进行保护。

最早的客户端ftp应用程序是命令行的。它们在操作系统发展出现现代世界所知的图形用户界面(gui)之前就已经开发出来了。这些早期形式的ftp客户端应用程序仍然预装在windows、unix和linux操作系统中。

ftp自那时以来已经被广泛使用,并为桌面、服务器、移动设备和智能硬件开发了应用程序。该协议本身已集成到生产力应用程序中。例如,html编辑器内置了ftp。

截至2021年1月,google chrome 88和firefox 88中已停用ftp支持。到2021年7月,firefox 90完全停用了对ftp的支持。google在2021年10月也从google chrome 95中完全删除了ftp。这并不意味着ftp已经消亡。它远未消亡。ftp在现代浏览器、设备和ftp客户端应用程序中与永远忠诚的命令行选项并存。

文件传输协议:工作原理

文件传输协议通过使用两个不同的通信通道来管理客户端和服务器之间的关系。

©andranik hakobyan/shutterstock.com

任何使用windows、unix或linux系统的人都已经可以通过命令手动使用ftp了,但每个人都已经使用过ftp,而且不止一次。任何下载文件的计算机用户都充分利用了ftp。

由于几乎每个购买新电脑的人都会立即下载他们首选的浏览器,所以这通常是用户所做的第一件事情。在像windows更新这样的事情中,这是新电脑所做的第一件事情。作为一组协议,它是网络协议的基本标准。

如果您想要深入使用ftp客户端进行工作,那么您需要使用带有图形界面的现代ftp,或者开始提高您的命令行技能。这里有一些ftp客户端的示例供您尝试:

  • filezilla
  • cyberduck
  • fireftp
  • classic ftp
  • winscp
  • transmit
  • commander one
  • forklift
  • smartftp
  • wise-ftp

在大多数情况下,使用gui ftp客户端的用户将像在windows、linux和mac pc上使用传统的文件管理系统一样使用ftp。

ftp使用两个不同的通信通道来管理客户端和服务器之间的关系。第一个通道是控制连接。控制连接是由所使用的ftp客户端确定的管理通道连接。通常,该连接请求发送到服务器的端口号21。

控制连接用于传输命令和响应。可以将其视为用户与服务器之间的通信线路。如果用户想要传输文件,这就是告诉用户想要的连接线路。它也是用于安全连接的通道。如果服务器有用户名密码要求,控制连接通道处理请求。

第二个通道是数据连接。一旦通过控制连接发送了访问和命令请求,文件传输将通过数据连接通道发送。数据连接通道可以在主动模式或被动模式下建立。

在主动模式下,用户从ftp客户端的随机端口连接到服务器上的端口21。客户端端口是微不足道的,可以随机分配。然后客户端发送port命令。这告诉服务器应连接到客户端的哪个端口(先前在客户端选择的微不足道的端口)。一旦建立连接,可以进行数据传输。

在某些情况下,由于被阻止的端口或防火墙限制,客户端无法接受连接。这就是使用被动模式的情况。由于大多数用户现在受到防火墙或vpn限制,被动模式是最常用的模式。它的工作方式与主动模式基本相同。客户端不发送port命令,而是发送pasv。这允许服务器将服务器端口21连接到客户端端的随机端口,而不会破坏防火墙限制。

文件传输协议:历史意义

没有ftp,互联网的实用性会大大降低。它允许从一个用户的主机服务器向最终用户或网站访问者共享图像、文本、声音、视频和任何其他文件的本质。计算的这个简单、微不足道的方面是今天技术的非常基础的软件技术之一。

技术改进和发布的速度与项目开发人员、研究人员、管理人员和其他参与人员能够几乎即时地将文件发送到世界各地的能力直接相关。

随着技术的发展,安全问题也在不断演变。从ftp到提供增强安全连接的多个传输协议,如http和https。ftp仍然用于微不足道的操作和下载,但通常与更安全的选项结合使用。

Written by 小竞 (编辑)

他们称呼我为小竞, 做作为河小马的助理有5年时间了,作为jingzhengli.com的编辑,我关注每天的科技新闻,帮你归纳一些现有科技以及AI产品来提升你的生产力,拥抱AI,让科技和AI为我们服务!