ファイル転送プロトコル

FTP (インターネット)

[1] FTP (File Transfer Protocol) は、インターネットファイルを転送するためのアプリケーション層プロトコルです。

仕様書

FTP に関する概念

ポート

[9] 既定のポート番号21 です。

[33] port blocking も参照。

URL scheme

[2] URL scheme としては ftp: が使われています。

ftp: を参照。

クライアント

[3] Unix 系を含め多くの近代的な OS には標準で FTP クライアントが付属しています。

[4] Webブラウザーにも FTP によるファイルの受信機能が組み込まれているのが普通です。 FTP 受信機能を有さない WebブラウザーWeb互換ではありません。

[5] Web の初期には HTTP のかわりに FTP が使われることもありました。 現在では専らファイルダウンロードのために用いられていますが、 それも徐々に HTTP に置き換えられています。
[61] FirefoxChrome でも削除が提案されたことがありますが、 少なからず使われており削除して良いとは断言できないとして、 現在も残されています。

[60] FTP は歴史も長く多機能なプロトコルですが、 Webブラウザーが必要とするのは単純なダウンロードのみで、 ごく基本的な部分に限られます。

[11] FTP では (アプリケーション層スイッチ) が使われることがあります。

[12] FTPには、 FTP プロトコルで中継するものと、 SOCKS を下位層プロトコルとして使うもの、 HTTP で中継するものがあります。

[13] HTTP の場合は、クライアントの間は HTTP で通信し、 FTP そのものは使いません。 FTP over HTTP

Web サーバー管理プロトコルとしての FTP

[6] Web において HTTP によって配信されるファイルサーバー上に配置するため転送 (アップロード) する方法として、90年代には FTP は極めてよく用いられていました。

[7] その後 SCP に置き換えられたり、静的ファイルとして配置する構成から Webアプリケーションの編集機能によって Webブラウザー上から変更する構成へと主流が移り変わったりと FTP を使ってアップロードすることは徐々に減少してきていますが、 現在も使われていることがあります。

実例

[75] 匿名FTPも参照。

関連

[8] TFTPSFTPFTP と直接関係ありません。

歴史

[43] RFC 2773 - Encryption using KEA and SKIPJACK () https://tools.ietf.org/html/rfc2773

[22] draft-bryan-ftpext-hash-02 - File Transfer Protocol HASH Command for Cryptographic Hashes ( ( 版)) https://tools.ietf.org/html/draft-bryan-ftpext-hash-02

[23] FTPメール - Wikipedia ( ( 版)) http://ja.wikipedia.org/wiki/FTP%E3%83%A1%E3%83%BC%E3%83%AB

[10] mod_proxy_ftp - Apache HTTP Server Version 2.4 ( 版) http://httpd.apache.org/docs/current/en/mod/mod_proxy_ftp.html

[14] Google の検索結果に ftp: URLWebページが出てくることが稀にあります。

[15] Chromium Blog: A New FTP Implementation Goes Live ( 版) http://blog.chromium.org/2009/09/new-ftp-implementation-goes-live.html

[16] Issue 96401 - chromium - FTP file download problem - An open-source project to help move the web forward. - Google Project Hosting ( 版) https://code.google.com/p/chromium/issues/detail?id=96401

[17] Issue 333943 - chromium - Remove built-in support for FTP from Chrome - An open-source project to help move the web forward. - Google Project Hosting ( 版) https://code.google.com/p/chromium/issues/detail?id=333943

Over a 7-day period, only .1-.2% of users end up navigating to any FTP URL (with slightly higher numbers amongst Linux desktop users). This has been fairly stable over the last year, so it doesn't look there are trends for FTP to disappear altogether.

[18] 1174462 – Remove built-in support for FTP ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=1174462

[19] 85464 – Support FTP over TLS/SSL (FTPS) ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=85464

[20] 207298 – FTP directory problems w/ URL parsing when URL root is not filesystem root ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=207298

[24] 196286 – ftp URLs w/ "anonymous" user should automatically use anonymous password. ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=196286

[25] 202419 – ftp://@hostname should tell FTP to use username and password auth ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=202419

[26] 251892 – Non-US-ASCII chars in FTP file name are problematic ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=251892

[27] 24867 – basic UI for FTP upload (menu) not implemented ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=24867

[28] 297395 – ftp : cannot open a folder with Cyrillic letters in its name on an IIS server ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=297395

[29] 117875 – close FTP control connections when no docshell actively displaying it ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=117875

[30] 448141 – Unable to open file with special characters in file:// ftp:// listing (";", semicolon, in file name) ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=448141

[31] 92582 – Some MS ftp servers (ftp.microsoft.com) never display lists - PASV invalid after error response ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=92582

[32] JVNDB-2015-002155 - JVN iPedia - 脆弱性対策情報データベース ( 版) http://jvndb.jvn.jp/ja/contents/2015/JVNDB-2015-002155.html

[34] RFC 4217 - Securing FTP with TLS ( ()) https://tools.ietf.org/html/rfc4217

[35] Internet Explorer 7、8からのFTP利用方法を教えてほしい。 | 会員サポート > Q&A(よくあるご質問) : @nifty ( ()) http://qa.nifty.com/cs/catalog/faq_nqa/qid_11026/1.htm

[36] Internet ExplorerでFTPを利用する ( ()) http://www.losttechnology.jp/Tips/ieftp.html

[37] FTP サイトにおけるファイル操作 - Windows ヘルプ ( ()) http://windows.microsoft.com/ja-jp/windows/work-with-files-ftp-site#1TC=windows-7

FTP サイトで、ファイルのアップロード、ファイルの削除、フォルダー構造の変更を行うには、Windows エクスプローラーでサイトを開く必要があります。単に FTP サイトを開いてそこからファイルをダウンロードする場合は、Internet Explorer を使用できます。Windows エクスプローラーで自動的にサイトが開くように FTP へのショートカットを作成するには、以下の手順を実行します。

[38] Internet Explorer 10~9 FTP接続設定の新規作成│eoサービスの接続・設定方法|eoユーザーサポート ( ()) http://support.eonet.jp/setup/homepage/ftp/win/ie10/

[48] Issue 333943 - chromium - Remove built-in support for FTP from Chrome - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=333943

[49] Can't access ftp site - Google Product Forums ( ()) https://productforums.google.com/forum/?hl=en#!category-topic/chrome/report-a-problem-and-get-troubleshooting-help/J4SJq1OSzQk

11/10/10

Current row

esotericmind said:

I have worked out why this stopped working and found a resolution for my specific setup. The issue seems to be that the latest version of Chrome is using "Extended Passive Mode" (EPSV) for the FTP transfer mode. Internet Explorer still uses standard passive mode (PSV).

My FTP server is sat behind a firewall and only had port 21 forwarded to the FTP server. This works fine for PSV mode. However, EPSV mode uses port 21 for the control connection and a random port number for the data transfer. The port number range that Filezilla was using was somewhere between 2400 and 2600. So i added another port forward (in additon to port 21) to map port numbers 2000-3000 to the FTP server and it all works with Chrome again now. I think Filezilla allows you to specify some custom port numbers to make it easier to handle this situation with NAT and port forwarding.

Hope this helps the rest of you guys out!

+1

[50] ftpとnat - masami Wiki* ( ()) http://wikiwiki.jp/masami/?ftp%A4%C8nat

FTPにはパッシブモードと言うのがあってIEもFireFoxもパッシブモードを使用していた。が、その中でもEPSVコマンドがFireFoxには無かった。

[52] 425 Can't open data connection-mozila firefox - FileZilla Forums ( ()) https://forum.filezilla-project.org/viewtopic.php?t=22413

Some browsers like Firefox use Passive (PASV) mode, AFAIK Opera even uses Extended Passive (EPSV). IE has a setting for Active (PORT) vs. Passive mode, with old versions defaulting to Active and recent to Passive. A real mess.

[53] Issue 131847 - chromium - Opening ftp://downloads01.f5.com/README fails - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=131847

[54] Issue 11418035: FTP: Only issue EPSV command for non-IPv4 connections. - Code Review ( ()) https://codereview.chromium.org/11418035/

[55] Issue 35050 - chromium - Implement the FTP Extensions for IPv6 specified in RFC 2428. - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=35050

[56] Issue 3073 - chromium - Support active FTP - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=3073

[57] Are we going to support active FTP? - Google グループ ( ()) https://groups.google.com/forum/#!topic/chromium-dev/c81LTZvJ4NE

[58] Issue 96401 - chromium - FTP file download problem - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=96401

[59] 61290 – FTP should try RETR before CWD ( ()) https://bugzilla.mozilla.org/show_bug.cgi?id=61290

[62] 26767 – need support RFC2640 (Internationalization of the File Transfer Protocol) ( ()) https://bugzilla.mozilla.org/show_bug.cgi?id=26767

[63] 427089 – FTP shouldn't send URLs in UTF-8 ( ()) https://bugzilla.mozilla.org/show_bug.cgi?id=427089

[64] 942791 – Non-ASCII file names should be accessible in FTP directory listings regardless of the FEAT/UTF8 support ( ()) https://bugzilla.mozilla.org/show_bug.cgi?id=942791

[65] [chrome] Contents of /trunk/src/net/ftp/ftp_network_transaction.cc ( ()) https://src.chromium.org/viewvc/chrome/trunk/src/net/ftp/ftp_network_transaction.cc

[66] Issue 25023 - chromium - Chrome hangs when trying to enter an ftp site (ftp://ftp.pdcresearch.com.ar/) - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=25023

[67] Issue 56734 - chromium - FTP will not connect unless list is enabled for user - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=56734

[68] Issue 21127 - chromium - REGRESSION: [ftp://ftp.ets.org/pub/demo]: FTP downloads are broken - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=21127

[69] Issue 22193 - chromium - Support VMS FTP servers - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=22193

[70] Working on Chromium's FTP code, testing with VMS FTP servers - Google グループ ( ()) https://groups.google.com/forum/#!msg/comp.os.vms/Bv2NtyZo7Ao/O884Ucg2DaQJ

[71] Issue 164724 - chromium - [ftp://180.247.56.11/DATA1/DATA/] issues with file names containing newlines - Monorail ( ()) https://bugs.chromium.org/p/chromium/issues/detail?id=164724

[72] gecko-dev/netwerk/protocol/ftp at master · mozilla/gecko-dev ( ()) https://github.com/mozilla/gecko-dev/tree/master/netwerk/protocol/ftp

[73] 191220 – FTP: not entering directory, instead message box : "Alert: 250 CWD command successful" ( ()) https://bugzilla.mozilla.org/show_bug.cgi?id=191220

[74] 370559 – (CVE-2007-1562) security problem handling responses to FTP PASV command ( ()) https://bugzilla.mozilla.org/show_bug.cgi?id=370559

[76] Block ftp URL requests from non-FTP clients (mikewest著, ) https://github.com/whatwg/fetch/commit/d4114a3b0926fda64a7708d4ec56c6d007b5d133

[77] net/data/ftp - chromium/src - Git at Google ( ()) https://chromium.googlesource.com/chromium/src/+/master/net/data/ftp/

[78] PSA: `ftp://` resources will be marked "Not Secure" - Google グループ () https://groups.google.com/a/chromium.org/forum/#!msg/security-dev/HknIAQwMoWo/xYyezYV5AAAJ

[79] 1574475 - Remove FTP support () https://bugzilla.mozilla.org/show_bug.cgi?id=1574475

[80] Google検索には今でもちゃんと FTP が出てくることがある。