fbpx
维基百科

文件传输协议

文件传输协议(英語:File Transfer Protocol,縮寫:FTP)是一个用於在计算机网络上在客户端和服务器之间進行文件傳輸的应用层协议。文件传送(file transfer)和文件存取(file access)之间的区别在于:前者由FTP提供,后者由如NFS等应用系统提供[1]RFC 959 定义了此规范。

FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。

历史

原始规范由 Abhay Bhushan 编写,并于1971年4月16日作为 RFC 114 发布。直到1980年,FTP 才在TCP/IP的前身NCP上运行。该协议先被TCP/IP版本,RFC 765(1980年6月)取代,后来又被 RFC 959(1985年10月)所取代,这也是当前规范。RFC 959提出了若干标准修改,例如 RFC 1579(1994年2月)使 FTP 能够穿越NAT防火墙(被动模式),RFC 2228(1997年6月)提出安全扩展,RFC 2428(1998年9月)增加了对IPv6的支持,并定义了一种新型的被动模式。

概述

FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话,会被防火墙断开;传输会产生一些错误。

FTP虽然可以被终端用户直接使用,但是它是设计成被FTP客户端程序所控制。

运行FTP服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:「anonymous」。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这只是一些细节或者此邮件地址根本不被确定,而是依赖于FTP服务器的配置情况。

FTP实现的目标

  1. 促进文件的共享(计算机程序或数据)
     
  2. 鼓励间接或者隐式的使用远程计算机
  3. 向用户屏蔽不同主机中各种文件存储系统(File system)的细节
  4. 可靠和高效的传输数据

主动和被动模式

FTP有两种使用模式:主动和被动。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。

一个主動模式的FTP连接建立要遵循以下步骤:

  1. 客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。此时,该tcp连接的來源地端口为客户端指定的随机端口x,目的地端口(远程端口)为服务器上的21号端口。
  2. 客户端开始监听端口(x+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。
  3. 服务器打开20号源端口并且建立和客户端数据端口的连接。此时,來源地的端口为20,远程数据(目的地)端口为(x+1)。
  4. 客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。

软件支持

浏览器

大部分常见的网页浏览器都可以检索FTP服务器上托管的文件,尽管它们并不支持扩展协议,如FTPS[2]当浏览器访问FTP格式的URL时,将以Web文件目录显示远程服务器上的可访问内容。使用类似FireFTP英语FireFTP客户端可获得FTP扩展协议的完整支持。

Chrome和Firefox等主流浏览器都将计划弃用对FTP的支持,[3]2019年推出的Chrome 82已停止对FTP支持[4],在2020年因COVID-19疫情增加的遠距辦公需求而短暫恢復FTP,但於2021年10月推出的Chrome95完全移除FTP相關程式碼[5]。而Firefox原預定于版本77中停止支持FTP[6],最終在2021年7月發行的90版正式停止支援FTP協定[7]。微軟的Edge瀏覽器也在2020年起停止支援FTP,Internet Explorer 11仍保留FTP用戶端,直到2022年6月15日終止支援[8]

语法

FTP URL 格式已在RFC 1738指定,格式为:ftp://[user[:password]@]host[:port]/url-path(方括号内为可选参数)。

有关指定用户名和密码的更多详细信息,可以在浏览器的文档中找到(例如Firefox[9]Internet Explorer[10])。默认情况下,大多数Web浏览器使用被动(PASV)模式,该模式更容易遍历终端防火墙。

下载管理器

大部分常见的下载管理器都可以收取FTP服务器上托管的文件,其中一些还提供界面来检索FTP服务器上托管的文件。DownloadStudio英语DownloadStudioInternet Download Accelerator英语Internet Download Accelerator既能从FTP服务器下载文件,又能查看FTP服务器上的文件。[11][12]

安全性

FTP不是一项安全的协议,并且具有许多安全漏洞[13]1999年5月发布的RFC 2577列出了以下几个主要的漏洞:

通过FTP传输的流量不会被加密,所有传输通过明文进行的。任何能够在网络上执行数据包捕获( 嗅探 )的人都可以读取用户名、密码、命令内容和数据[14][15]此问题在加密机制(如TLS或SSL)产生之前的许多Internet协议规范(如SMTPTelnet 、POP和IMAP)中较为普遍[16]

此问题的常见解决方案包括:

  1. 使用协议的安全版本,例如FTPS而不是FTP,TelnetS而不是Telnet。
  2. 使用可以处理作业的不同的,更安全的协议,例如 SSH文件传输协议安全复制协议
  3. 使用安全隧道(如Secure Shell虛擬私人網路 )。

FTP 命令

可以被傳送到FTP伺服器FTP命令列表,包含由IETF在RFC 959中標準化的所有命令。需要注意的是,大多數命令列FTP用戶端都給用戶提供了額外的命令集。例如,GET是一個常見的用來下載檔案的用戶命令,用來替代原始的RETR命令。

FTP 服务器返回码

包含由IETF在RFC 959中標準化的所有服务器返回码。回复代码是一个三位数值,第一个数字用于表示三种可能的结果之一————成功、失败、表示错误或不完整的回复。

衍生品

FTPS

FTPS是FTP标准的扩展,添加了安全套接层(SSL)以及其继任者傳輸層安全性協定(TLS)的支持。

SSH文件传输协议

SSH文件传输协议(缩写:SFTP)可用于传输文件并具有类似的用户命令集,但使用Secure Shell协议(SSH)传输文件。与FTP不同,它对命令和数据进行加密,防止密码和敏感信息通过网络公开传输。它无法与FTP兼容。

小型文件传输协议

小型文件传输协议(Trivial File Transfer Protocol, TFTP),是一种于1981年在RFC 783中定义的简化的文件传输协议(FTP)。

简单文件传输协议

简单文件传输协议(Simple File Transfer Protocol)由RFC 913定义,其复杂程度介于TFTP和FTP之间。它从未在互联网上被广泛接受。它通过端口115运行,支持三种类型的数据传输: ASCII二进制和连续。该协议还支持使用用户名和密码登录、文件夹和文件管理(包括重命名删除上传下载)。

参考文献

引用

  1. ^ W.Richard Stevevs 著, 范建华 等译. TCP/IP详解 卷一:协议. 机械工业. 2000: 316. ISBN 978-7-111-07566-0. 
  2. ^ Matthews, J. Computer Networking: Internet Protocols in Action 1st. Danvers, MA: John Wiley & Sons Inc. 2005. 
  3. ^ Abrams, Lawrence. Chrome and Firefox Developers Aim to Remove Support for FTP. bleepingcomputer.com. 2018-11-26 [2020-01-26]. (原始内容于2020-11-08). 
  4. ^ Martin Brinkmann. Google Chrome 82 won't support FTP anymore. ghacks. 2019-08-16 [2020-04-20]. (原始内容于2021-02-05) (英语). 
  5. ^ 林妍溱. Google Chrome 95將徹底移除FTP程式碼. iThome. 2021-10-21 [2021-10-21]. (原始内容于2021-10-27). 
  6. ^ Martin Brinkmann. Mozilla will remove FTP support in the Firefox web browser. ghacks. 2020-03-19 [2020-04-20]. (原始内容于2021-02-22) (英语). 
  7. ^ 林妍溱. Firefox 90正式終止支援FTP. iThome. 2021-07-23 [2021-10-21]. (原始内容于2021-10-25). 
  8. ^ 郑丽媛. FTP 时代已逝:Firefox、Chrome 等多个浏览器均已弃用!. CSDN微信公眾號. [2021-07-23]. (原始内容于2021-10-25). 
  9. ^ Accessing FTP servers | How to | Firefox Help. Support.mozilla.com. 2012-09-05 [2013-01-16]. (原始内容于2021-01-26). 
  10. ^ . [2020-04-20]. (原始内容存档于2015-07-02).  Written for IE versions 6 and earlier. Might work with newer versions.
  11. ^ DownloadStudio - Internet Download Manager And Download Accelerator - Features. Conceiva. [2021-10-19]. (原始内容于2021-09-08). 
  12. ^ Internet Download Accelerator | Features. WestByte. [2021-10-20]. (原始内容于2021-09-04). 
  13. ^ Securing FTP using SSH. Nurdletech.com. [2019-01-22]. (原始内容于2020-11-24). 
  14. ^ Kozierok, Charles M. The TCP/IP Guide v3.0. Tcpipguide.com. 2005 [2019-01-22]. (原始内容于2021-01-11). 
  15. ^ Securing FTP using SSH. Nurdletech.com. [2019-01-22]. (原始内容于2020-11-24). 
  16. ^ Clark, M.P. Data Networks IP and the Internet 1st. West Sussex, England: John Wiley & Sons Ltd. 2003. 

来源

参见

外部链接

文件传输协议, 重定向至此, 关于其他用法, 请见, 消歧义, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目可参照英語維基百科相應條目来扩充, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, transla. FTP 重定向至此 关于其他用法 请见 FTP 消歧义 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目可参照英語維基百科相應條目来扩充 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 此條目需要补充更多来源 2016年9月23日 请协助補充多方面可靠来源以改善这篇条目 无法查证的内容可能會因為异议提出而移除 致使用者 请搜索一下条目的标题 来源搜索 文件传输协议 网页 新闻 书籍 学术 图像 以检查网络上是否存在该主题的更多可靠来源 判定指引 文件传输协议 英語 File Transfer Protocol 縮寫 FTP 是一个用於在计算机网络上在客户端和服务器之间進行文件傳輸的应用层协议 文件传送 file transfer 和文件存取 file access 之间的区别在于 前者由FTP提供 后者由如NFS等应用系统提供 1 RFC 959 定义了此规范 FTP是一个8位的客户端 服务器协议 能操作任何类型的文件而不需要进一步处理 就像MIME或Unicode一样 但是 FTP有着极高的延时 这意味着 从开始请求到第一次接收需求数据之间的时间 会非常长 并且不时的必须执行一些冗长的登录进程 目录 1 历史 2 概述 2 1 FTP实现的目标 3 主动和被动模式 4 软件支持 4 1 浏览器 4 1 1 语法 4 2 下载管理器 5 安全性 6 FTP 命令 7 FTP 服务器返回码 8 衍生品 8 1 FTPS 8 2 SSH文件传输协议 8 3 小型文件传输协议 8 4 简单文件传输协议 9 参考文献 9 1 引用 9 2 来源 10 参见 11 外部链接历史 编辑原始规范由 Abhay Bhushan 编写 并于1971年4月16日作为 RFC 114 发布 直到1980年 FTP 才在TCP IP的前身NCP上运行 该协议先被TCP IP版本 RFC 765 1980年6月 取代 后来又被 RFC 959 1985年10月 所取代 这也是当前规范 RFC 959提出了若干标准修改 例如 RFC 1579 1994年2月 使 FTP 能够穿越NAT与防火墙 被动模式 RFC 2228 1997年6月 提出安全扩展 RFC 2428 1998年9月 增加了对IPv6的支持 并定义了一种新型的被动模式 概述 编辑FTP服务一般运行在20和21两个端口 端口20用于在客户端和服务器之间传输数据流 而端口21用于传输控制流 并且是命令通向ftp服务器的进口 当数据通过数据流传输时 控制流处于空闲状态 而当控制流空闲很长时间后 客户端的防火墙会将其会话置为超时 这样当大量数据通过防火墙时 会产生一些问题 此时 虽然文件可以成功的传输 但因为控制会话 会被防火墙断开 传输会产生一些错误 FTP虽然可以被终端用户直接使用 但是它是设计成被FTP客户端程序所控制 运行FTP服务的许多站点都开放匿名服务 在这种设置下 用户不需要帐号就可以登录服务器 默认情况下 匿名用户的用户名是 anonymous 这个帐号不需要密码 虽然通常要求输入用户的邮件地址作为认证密码 但这只是一些细节或者此邮件地址根本不被确定 而是依赖于FTP服务器的配置情况 FTP实现的目标 编辑 促进文件的共享 计算机程序或数据 鼓励间接或者隐式的使用远程计算机 向用户屏蔽不同主机中各种文件存储系统 File system 的细节 可靠和高效的传输数据主动和被动模式 编辑FTP有两种使用模式 主动和被动 主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接 在这种情况下 客户端由于安装了防火墙会产生一些问题 所以 创立了被动模式 被动模式只要求服务器端产生一个监听相应端口的进程 这样就可以绕过客户端安装了防火墙的问题 一个主動模式的FTP连接建立要遵循以下步骤 客户端打开一个随机的端口 端口号大于1024 在这里 我们称它为x 同时一个FTP进程连接至服务器的21号命令端口 此时 该tcp连接的來源地端口为客户端指定的随机端口x 目的地端口 远程端口 为服务器上的21号端口 客户端开始监听端口 x 1 同时向服务器发送一个端口命令 通过服务器的21号命令端口 此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据 这个端口就是我们所知的数据端口 服务器打开20号源端口并且建立和客户端数据端口的连接 此时 來源地的端口为20 远程数据 目的地 端口为 x 1 客户端通过本地的数据端口建立一个和服务器20号端口的连接 然后向服务器发送一个应答 告诉服务器它已经建立好了一个连接 软件支持 编辑浏览器 编辑 大部分常见的网页浏览器都可以检索FTP服务器上托管的文件 尽管它们并不支持扩展协议 如FTPS 2 当浏览器访问FTP格式的URL时 将以Web文件目录显示远程服务器上的可访问内容 使用类似FireFTP 英语 FireFTP 客户端可获得FTP扩展协议的完整支持 Chrome和Firefox等主流浏览器都将计划弃用对FTP的支持 3 2019年推出的Chrome 82已停止对FTP支持 4 在2020年因COVID 19疫情增加的遠距辦公需求而短暫恢復FTP 但於2021年10月推出的Chrome95完全移除FTP相關程式碼 5 而Firefox原預定于版本77中停止支持FTP 6 最終在2021年7月發行的90版正式停止支援FTP協定 7 微軟的Edge瀏覽器也在2020年起停止支援FTP Internet Explorer 11仍保留FTP用戶端 直到2022年6月15日終止支援 8 语法 编辑 FTP URL 格式已在RFC 1738指定 格式为 ftp user password host port url path 方括号内为可选参数 有关指定用户名和密码的更多详细信息 可以在浏览器的文档中找到 例如Firefox 9 和Internet Explorer 10 默认情况下 大多数Web浏览器使用被动 PASV 模式 该模式更容易遍历终端防火墙 下载管理器 编辑 大部分常见的下载管理器都可以收取FTP服务器上托管的文件 其中一些还提供界面来检索FTP服务器上托管的文件 DownloadStudio 英语 DownloadStudio 和Internet Download Accelerator 英语 Internet Download Accelerator 既能从FTP服务器下载文件 又能查看FTP服务器上的文件 11 12 安全性 编辑FTP不是一项安全的协议 并且具有许多安全漏洞 13 1999年5月 发布的 RFC 2577 中列出了以下几个主要的漏洞 暴力破解 FTP反弹攻击 英语 FTP bounce attack 数据包捕获 端口窃取 猜测下一个开放端口并篡夺合法连接 欺骗攻击 用户名枚举通过FTP传输的流量不会被加密 所有传输通过明文进行的 任何能够在网络上执行数据包捕获 嗅探 的人都可以读取用户名 密码 命令内容和数据 14 15 此问题在加密机制 如TLS或SSL 产生之前的许多Internet协议规范 如SMTP Telnet POP和IMAP 中较为普遍 16 此问题的常见解决方案包括 使用协议的安全版本 例如FTPS而不是FTP TelnetS而不是Telnet 使用可以处理作业的不同的 更安全的协议 例如 SSH文件传输协议或安全复制协议 使用安全隧道 如Secure Shell或虛擬私人網路 FTP 命令 编辑主条目 FTP命令列表 可以被傳送到FTP伺服器的FTP命令列表 包含由IETF在RFC 959中標準化的所有命令 需要注意的是 大多數命令列FTP用戶端都給用戶提供了額外的命令集 例如 GET是一個常見的用來下載檔案的用戶命令 用來替代原始的RETR命令 FTP 服务器返回码 编辑主条目 FTP服务器返回码 包含由IETF在RFC 959中標準化的所有服务器返回码 回复代码是一个三位数值 第一个数字用于表示三种可能的结果之一 成功 失败 表示错误或不完整的回复 衍生品 编辑FTPS 编辑 主条目 FTPS FTPS是FTP标准的扩展 添加了安全套接层 SSL 以及其继任者傳輸層安全性協定 TLS 的支持 SSH文件传输协议 编辑 主条目 SFTP SSH文件传输协议 缩写 SFTP 可用于传输文件并具有类似的用户命令集 但使用Secure Shell协议 SSH 传输文件 与FTP不同 它对命令和数据进行加密 防止密码和敏感信息通过网络公开传输 它无法与FTP兼容 小型文件传输协议 编辑 主条目 TFTP 小型文件传输协议 Trivial File Transfer Protocol TFTP 是一种于1981年在RFC 783中定义的简化的文件传输协议 FTP 简单文件传输协议 编辑 简单文件传输协议 Simple File Transfer Protocol 由RFC 913定义 其复杂程度介于TFTP和FTP之间 它从未在互联网上被广泛接受 它通过端口115运行 支持三种类型的数据传输 ASCII 二进制和连续 该协议还支持使用用户名和密码登录 文件夹和文件管理 包括重命名 删除 上传 下载 参考文献 编辑引用 编辑 W Richard Stevevs 著 范建华 等译 TCP IP详解 卷一 协议 机械工业 2000 316 ISBN 978 7 111 07566 0 Matthews J Computer Networking Internet Protocols in Action 1st Danvers MA John Wiley amp Sons Inc 2005 Abrams Lawrence Chrome and Firefox Developers Aim to Remove Support for FTP bleepingcomputer com 2018 11 26 2020 01 26 原始内容存档于2020 11 08 Martin Brinkmann Google Chrome 82 won t support FTP anymore ghacks 2019 08 16 2020 04 20 原始内容存档于2021 02 05 英语 林妍溱 Google Chrome 95將徹底移除FTP程式碼 iThome 2021 10 21 2021 10 21 原始内容存档于2021 10 27 Martin Brinkmann Mozilla will remove FTP support in the Firefox web browser ghacks 2020 03 19 2020 04 20 原始内容存档于2021 02 22 英语 林妍溱 Firefox 90正式終止支援FTP iThome 2021 07 23 2021 10 21 原始内容存档于2021 10 25 郑丽媛 FTP 时代已逝 Firefox Chrome 等多个浏览器均已弃用 CSDN微信公眾號 2021 07 23 原始内容存档于2021 10 25 Accessing FTP servers How to Firefox Help Support mozilla com 2012 09 05 2013 01 16 原始内容存档于2021 01 26 How to Enter FTP Site Password in Internet Explorer 2020 04 20 原始内容存档于2015 07 02 Written for IE versions 6 and earlier Might work with newer versions DownloadStudio Internet Download Manager And Download Accelerator Features Conceiva 2021 10 19 原始内容存档于2021 09 08 Internet Download Accelerator Features WestByte 2021 10 20 原始内容存档于2021 09 04 Securing FTP using SSH Nurdletech com 2019 01 22 原始内容存档于2020 11 24 Kozierok Charles M The TCP IP Guide v3 0 Tcpipguide com 2005 2019 01 22 原始内容存档于2021 01 11 Securing FTP using SSH Nurdletech com 2019 01 22 原始内容存档于2020 11 24 Clark M P Data Networks IP and the Internet 1st West Sussex England John Wiley amp Sons Ltd 2003 来源 编辑 RFC 0959文件传输协议 J Postel J Reynolds 1985 10 格式 文本 147316字节 http www ietf org rfc rfc959 txt 页面存档备份 存于互联网档案馆 最早的RFC 114和之后的RFC 765已被废除 参见 编辑小文件传输协议 TFTP SSH文件传输协议 SSH file transfer protocol 安全FTP Secure FTP FTPS 简单文件传输协议 Simple File Transfer Protocol WS FTP FTP 工具 FTP客户端比较 FTP服务器列表外部链接 编辑 取自 https zh wikipedia org w index php title 文件传输协议 amp oldid 75882335, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。