ftpとは? わかりやすく解説

FTP

別表記:エフティーピー

「FTP」とは、ネットワーク上でファイル転送を行うための通信プロトコルのことを意味する英語表現である。

「FTP」とは・「FTP」の意味

「FTP」とは、ネットワーク上でファイル転送を行うための通信プロトコル一つで、正式名称は「File Transfer Protocolファイル・トランスファー・プロトコル)」である。主な役割は、「FTPサーバ」に対すデータのアップロード・ダウンロード、およびデータ管理修正三つであるとされる一般的な使い方としては、レンタルサーバー対し「FTP」で必要なデータアップロードし、自分自身WEBサイトなどを公開するために使われる

「FTP」通信は、制御用(コントロールコネクション)とデータ転送用(データコネクション)、二つtcpコネクション利用して行う。それぞれPIProtocol Interpreter/プロトコル・インタプリタ)とDTPData Transfer Process/データ・トランスファー・プロセス)の二種類プログラムによって処理される仕組みとしては、コントロールコネクションにおいて、アクセスしたいFTPサーバ情報パスワードなどをやり取りし、データそのものはデータコネクションを使う。

ただし、一連の通信において、全ての転送データ暗号化されない平文のままとなる。その中にはユーザー名パスワードなどのログイン情報含まれるため、セキュリティリスク考慮するであれば、「FTP」と似た機能持ちつつ、データ暗号化する「sFTP」の利用推奨される

なお、ロードバイクなどの自転車スポーツにおける「FTP」とは、「Functional Threshold Power」の略称であり、日本語になおすと「実行出力閾値」となる。「ちょうど1時間限界がくるペースで、ペダル回し続けた時の平均値」のことを意味する

「FTP」の熟語・言い回し

FTP接続とは


「FTP接続」とは、「FTP」を利用してサーバ接続することを意味する言葉である。「FTPクライアントソフト」を使うか、「コマンドプロンプト」、「ターミナル」などで「FTPコマンド」を入力して接続することができる。ただし、「FTP接続」は暗号化せずにデータやり取りするため、第三者通信内容漏洩するリスクがあるというデメリットもある。

FTP通信とは


「FTP通信」とは、「FTP」を利用してデータ転送を行う通信のことを意味する言葉である。データやり取りできるだけでなく、「FTPサーバ」に保存されているデータ管理移動簡単にできる、というメリットがある。

FTP伝送とは


「FTP伝送」とは、ファイル転送プロトコル「FTP」を使ってデータ伝送することを意味する言葉である。やり取りを行うサーバ接続しパスワードなどを使ってログインファイルのアップロード・ダウンロードを行う仕組みである。

FTPサイトとは


FTPサイト」とは、「FTP」でアクセスし、ファイル転送を行うことができるWebサイトのことを示す言葉である。

FTP情報とは


「FTP情報」とは、ファイル送受信を行う際に必要となる「ホスト名FTPサーバ名)」「ユーザー名アカウント)」「パスワード」のことを示す言葉である。

FTPコマンドとは


「FTPコマンド」とは、ネットワーク間でファイル送信する際に入力するコマンド、およびファイル送信をする際に使うコマンド群の総称である。一般的にはソフトウェアブラウザなどを通じて行われるが、Windowsではコマンドプロンプト起動し、「ftp」とコマンド入力することで「ftp通信」を開始できる

sFTPとは


SFTP」とは、暗号化された通信によってファイル送受信するプロトコル、あるいはそれを実行するためのコマンド意味する言葉である。「FTP」は全ての通信平文(非暗号化状態)で行うのに対し、「SFTP」はデータ全て暗号化できる「SSH」というプロトコル用いてデータの改ざん盗聴を防ぐことができる。「FTP」と非常によく似た機能・名称であるが、内部仕組みにおいては「FTP」と「SFTP」は大きく異なり互換性はない。

FFFTPとは


FFFTP」とは、Windows専用のFTPクライアントソフトウェアの名称である。1997年Sota氏によって開発された。GUIグラフィック表示され操作)のFTPソフトであるだけでなく、完全フリーウェアであること、製作者日本人のため日本語対応済み転送ファイル名漢字などのマルチバイト文字含まれても良い、といったポイントあり高評価された。2011年開発者開発サポートの終了告げたものの、有志による開発者集団引き継ぎ開発継続されている。

エフ‐ティー‐ピー【FTP】


FTP 関数

導入

この拡張モジュールの関数は、» http://www.faqs.org/rfcs/rfc959 で定義された File Transfer Protocol (FTP) を使用してファイルサーバに アクセスするクライアントの実装です。この拡張を利用することで、FTP サーバにアクセスしてさまざまな操作をするスクリプトを作成することができます。 ただ単に FTP サーバ上のファイルを読み書きしたいだけなら、 ファイルシステム関数ftp:// ラッパ を用いることを考えてください。こちらのほうがシンプルで直感的な インターフェースを提供します。

要件

外部ライブラリを必要としません。

インストール手順

PHP で FTP 関数を使用するには、PHP 4 をインストールする際には --enable-ftp オプション、 PHP 3 を使用する場合には --with-ftp を追加する必要があります。
Windows 版の PHP には この拡張モジュールのサポートが組み込まれています。これらの関数を使用 するために拡張モジュールを追加でロードする必要はありません。

実行時設定

設定ディレクティブは定義されていません。

リソース型

この拡張モジュールは、1 種類のリソース型を使用します。これは FTP 接続のリソース ID で、ftp_connect() あるいは ftp_ssl_connect() により返されたものです。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)
詳細は、ftp_set_option() を参照ください。
以下の定数は、PHP 4.3.0で追加されました。
FTP_AUTOSEEK (integer)
詳細は、ftp_set_option() を参照してください。
FTP_AUTORESUME (integer)
GET および PUT リクエスト用のレジューム位置と開始位置を自動的に 定義します(FTP_AUTOSEEK が有効な場合のみ動作します)。
FTP_FAILED (integer)
非同期伝送が失敗しました。
FTP_FINISHED (integer)
非同期伝送が終了しました。
FTP_MOREDATA (integer)
非同期伝送がまだアクティブです。

例 670. FTP の例
<?php
// 接続を確立する
$conn_id = ftp_connect($ftp_server);

// ユーザ名とパスワードでログインする
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// 接続できたか確認する
if ((!$conn_id) || (!$login_result)) {
       echo "FTP connection has failed!";
       echo "Attempted to connect to $ftp_server for user $ftp_user_name";
       exit;
   } else {
       echo "Connected to $ftp_server, for user $ftp_user_name";
   }

// ファイルをアップロードする
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// アップロード状況を確認する
if (!$upload) {
       echo "FTP upload has failed!";
   } else {
       echo "Uploaded $source_file to $ftp_server as $destination_file";
   }

// FTP ストリームを閉じる
ftp_close($conn_id);
?>


目次

ftp_alloc — アップロードされるファイルのためのスペースを確保する
ftp_cdup — 親ディレクトリに移動する
ftp_chdir — FTP サーバ上でディレクトリを移動する
ftp_chmod — FTP 経由でファイルのパーミッションを設定する
ftp_close — FTP 接続を閉じる
ftp_connect — FTP 接続をオープンする
ftp_delete — FTP サーバ上のファイルを削除する
ftp_exec — FTP サーバ上でのコマンドの実行をリクエストする
ftp_fget — FTP サーバからファイルをダウンロードし、オープン中のファイルに保存する
ftp_fput — オープン中のファイルを FTP サーバにアップロードする
ftp_get_option — カレント FTP ストリームでの種々の実行時動作を取得する
ftp_get — FTP サーバからファイルをダウンロードする
ftp_login — FTP 接続にログインする
ftp_mdtm — 指定したファイルが最後に更新された時刻を返す
ftp_mkdir — ディレクトリを作成する
ftp_nb_continue — ファイルの取得/送信を継続する(非ブロッキング)
ftp_nb_fget — FTP サーバからファイルをダウンロードし、オープン中のファイルに保存する(非ブロッキング)
ftp_nb_fput — オープン中のファイルを FTP サーバに保存する(非ブロッキング)
ftp_nb_get — FTP サーバからファイルを取得し、ローカルファイルに書き込む(非ブロッキング)
ftp_nb_put — FTP サーバにファイルを保存する(非ブロッキング)
ftp_nlist — 指定したディレクトリのファイルの一覧を返す
ftp_pasv — パッシブモードをオンまたはオフにする
ftp_put — FTP サーバにファイルをアップロードする
ftp_pwd — カレントのディレクトリ名を返す
ftp_quitftp_close() のエイリアス
ftp_raw — FTP サーバに任意のコマンドを送信する
ftp_rawlist — 指定したディレクトリの詳細なファイル一覧を返す
ftp_rename — FTP サーバ上のファイルまたはディレクトリの名前を変更する
ftp_rmdir — ディレクトリを削除する
ftp_set_option — さまざまな FTP 実行時オプションを設定する
ftp_site — SITEコマンドをサーバに送信する
ftp_size — 指定したファイルのサイズを返す
ftp_ssl_connect — セキュアな SSL-FTP 接続をオープンする
ftp_systype — リモート FTP サーバのシステム型 ID を返す

FTP

※「大車林」の内容は、発行日である2004年時点の情報となっております。

FTP

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/11/24 01:49 UTC 版)

FTP

一般

  • Free-to-play - ビデオゲームのビジネスモデルの一つ。「基本プレイ無料」のこと。

技術

組織

  • FTPソフトウェア英語版 - アメリカ合衆国にかつてあったソフトウェア会社
  • フォスター・ザ・ピープル(Foster the People) - アメリカ合衆国のインディー・ポップバンド

その他

  • フォークス・テレスコープ・プロジェクト英語版(Faulkes Telescope Project) - イギリスの実業家・ディル・フォークスが支援する天文学教育プロジェクト
  • 連邦劇場計画(Federal Theatre Project)

File Transfer Protocol

(ftp から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/19 15:23 UTC 版)

File Transfer Protocol
通信プロトコル
目的 ファイル転送
開発者 アバイ・ブーシャン
導入 1971年4月16日 (53年前) (1971-04-16)
ポート 20, 21
RFC RFC 959

File Transfer Protocol(ファイル・トランスファー・プロトコル、FTP、ファイル転送プロトコル)は、コンピュータネットワーク上のクライアントとサーバの間でファイル転送を行うための通信プロトコルの一つである。

概説

インターネットSSL/TLSプロトコルを用いたHTTPS通信が主流になるまで使用されていた通信プロトコルの1つである。FTPはクライアントサーバモデルのアーキテクチャとして設計されており、クライアントとサーバの間で制御用とデータ転送用の2つの別のコネクションを使用する[1]

FTPでは、認証のためのユーザ名・パスワードや転送データは暗号化されず、平文でやり取りされる。そのため現在では、FTPの通信をSSL/TLSにより保護したFTPSや、SSHの仕組みを利用したSSH File Transfer Protocol(SFTP)などの代替のプロトコルに置き換えられている。

用途としては

  • ウェブページ用各種データファイル(HTMLソース画像など)のクライアントのパソコンからウェブサーバへのアップロード
  • パソコンソフト配布サイトや、データが入っているFTPファイルサーバからクライアントへのファイルのダウンロード
  • LANにおけるファイルの転送

などに使われる。

アップロードやダウンロードについては「FTPクライアントソフト」と呼ばれるソフトウェアで行う。多くのOSにはCUIコマンドで操作するクライアントが付属している。また、GUIで操作できるソフトウェアやホームページ作成ソフトに内蔵されている。

ダウンロードについては、かつて多くのブラウザソフトにダウンロードに特化したFTPクライアントソフトの機能が実装されていたが、2020年代初頭に多くのブラウザがサポートを打ち切った [2]

初期のFTPクライアントは、OSGUIを持っていなかった時期に開発されたコマンドラインプログラムであり、今でもほとんどのOSに同梱されている[3][4]。多くのFTPクライアントや自動化ユーティリティが開発されており、また、HTMLエディタなどの生産性アプリケーションにも組み込まれてきた。

歴史

FTPの元の仕様はアバイ・ブーシャンによって書かれ、1971年4月16日に RFC 114として公開された。1980年まで、FTPはTCP/IPの前身であるNCPで実行されていた[3]RFC 765(1980年6月)と RFC 959(1985年10月)によりFTPはTCP/IP上で動くバージョンに修正され、これが現行のFTPの仕様の元となっている。その後、 RFC 1579(1994年2月)でファイアウォール内からでも使用できるパッシブモードが追加され、 RFC 2228(1997年6月)ではセキュリティ拡張が提案された。 RFC 2428(1998年9月)ではIPv6に対応し、新しい種類のパッシブモードが定義された[5]

プロトコルの概要

通信とデータ転送

ポート21を使用してパッシブ接続を開始する図

FTPの動作モードには、データ転送用コネクションの確立方法の違いによりアクティブモード(active mode)とパッシブモード(passive mode)がある[6]。どちらの場合でも、データ転送用コネクションとは別に制御用コネクションを使用する。制御用コネクションは、クライアント側が、特権付きでないランダムなポート番号Nから、サーバのポート21へのTCPのコネクションとして確立する。

  • アクティブモード(ポートモードとも言う)では、クライアントが制御用コネクションでFTPコマンド"PORT M"(Mはポート番号)をサーバに送信してポート番号を通知し、通知したポートMでサーバからのデータ転送用コネクションの接続を待ち受ける。サーバはポート20(FTPサーバのデータポート)からクライアントへのデータ転送用コネクションを確立する。
  • ファイアウォールNATIPマスカレード)などを使った環境では場合によってはアクティブモードでは接続できないこともある。この場合はパッシブモードを使用する。このモードでは、クライアントは制御用コネクションで"PASV"コマンドをサーバに送信してパッシブモードを利用することを通知し、サーバはクライアントにサーバ側のIPアドレスとポート番号を通知する[6]。クライアントはサーバから通知されたIPアドレスとポート番号へデータ転送用コネクションを確立する[7]

1998年9月に、両方のモードはIPv6に対応するために更新され、パッシブモードには変更が加えられて拡張パッシブモード(extended passive mode)となった[8]

サーバは、制御用コネクションを介してASCIIの3桁の数字のステータスコードで応答する。ステータスコードにはテキストによるメッセージがつくことがある。例えば、"200"(または "200 OK")は、最後のコマンドが成功したことを意味する。数字は応答のコードを表し、追加のテキストは人間が読める説明または要求を表す[1]。データ転送用コネクションを介したファイルデータの転送中、制御用コネクションを介して割り込みメッセージを送信することによって転送を中止することができる。

データ転送には以下の4つのデータ表現が利用できる[3][4][5]

  • ASCIIモード: テキストデータに使用される。必要に応じて、送信側で送信ホストの文字表現から拡張ASCIIに変換され、受信側では受信ホストの文字表現に変換される。そのため、このモードはプレーンテキスト以外のデータを含むファイルには不適切である。
  • バイナリモード(イメージモードとも言う): 送信側のマシンは各ファイルをバイト単位で送信し、受信側はバイトストリーム英語版を保存する。送信側・受信側ともデータの変換を行わない。FTPの全ての実装に対してバイナリモードの対応が推奨されている。
  • EBCDICモード: EBCDIC文字セットを使用しているホスト間のプレーンテキストに使用される。
  • ローカルモード: 同じ設定の2台のコンピュータが独自のフォーマットでデータをASCIIに変換することなく送信できるようにする。

データ転送は以下の3つのモードのいずれかで行うことができる[1][3]

  • ストリームモード: データは連続したストリームとして送信される。FTPとしては処理は行わず、全ての処理をTCPに任せる。 データがレコードに分割されていない限り、End-of-file標識は必要ない。
  • ブロックモード: FTPはデータをいくつかのブロック(ブロックヘッダ、バイト数、データフィールドから構成される)に分割してからTCPに渡す[5]
  • 圧縮モード: 単純なアルゴリズム(通常は連長圧縮)でデータを圧縮してからTCPに渡す。

FTPソフトウェアの中には、「モードZ」と呼ばれるDeflateを使用した圧縮モードを実装しているものがある。このモードはインターネットドラフトに記載されているが、標準化はされていない[9]

ログイン

FTPログインは、アクセスを許可するために通常のユーザ名とパスワードのスキームを使用する[3]。ユーザ名はUSERコマンドを使用してサーバに送信され、パスワードはPASSコマンドを使用して送信される[3]。この一連のやり取りは暗号化されていないため、盗聴攻撃英語版に対して脆弱である[10]。クライアントから提供された情報がサーバによって受け入れられた場合、サーバはクライアントにグリーティングを送信し、セッションが開始される[3]

Anonymous FTP

FTPサービスを提供するホストは、専らファイル(主に無償のフリーソフトなど)を配布する目的で[4]匿名でアクセスできるAnonymousアクセスを提供することができる[3]。この場合でも形式上認証が必要であり、ユーザ名として"anonymous"または"ftp"を指定する。パスワードは通常何でもよいが、配布したソフトに瑕疵があった場合などにサーバ管理者が連絡をとることができるよう、ユーザの電子メールアドレスを指定するのがマナー(ネチケット)とされてきた(メールアドレスのドメインがクライアントのIPアドレスの逆引きなどから明らかな場合は、"foo@"のようにドメインを省略することも多い)[4]。サーバによっては、パスワードがメールアドレスの形式を満たさないと利用できないこともある。しかし、近年ではスパム(迷惑メール)などの問題により、むやみにメールアドレスを公開しない風潮が高まっていることから、このマナーは廃れつつある。

NATやファイアウォールの通過

FTPは通常、クライアントがPORTコマンドを送信し、サーバがクライアントの通知されたポートに接続することによってデータを転送する。これは、インターネット側から内部ホストへの接続を許可しないNATファイアウォールにおいて問題となる[11]。NATの場合、PORTコマンドで通知するIPアドレスとポート番号は、NATによる変換後のものではなく、変換前のものとなる。

この問題を解決するには2つの方法がある。1つは、PASVコマンドを使用してパッシブモードに移行する方法である。これにより、FTPクライアント側からサーバへデータ転送用コネクションが確立される[11]。これは現代のFTPクライアントにおいて広く使われている。もう1つは、NATがアプリケーション・ゲートウェイ英語版を使用してPORTコマンドの値を書き換える方法である[11]

HTTPとの違い

FTPでは、Webページでよく見られるような多くの小さな一時的な転送に使用するのが不便であり、HTTPではそれを修正している。

FTPには、現在の作業ディレクトリと他のフラグを保持するステートフルな制御用コネクションがあり、転送するファイルごとに、データを転送するための別のコネクションを必要とする。パッシブモードでは、この別のコネクションはクライアントからサーバへの接続であるが、デフォルトのアクティブモードでは、このコネクションはサーバからクライアントへの接続である。アクティブモードにおけるこの役割の逆転、および全ての転送において使用されるポート番号がランダムであることが、ファイアウォールやNATゲートウェイを通してFTPを使用することを困難にしている。HTTPはステートレスであり、クライアントからサーバへの、Well-knownなポート番号による単一のコネクションを介して、制御とデータを多重化する。これにより、NATゲートウェイやファイアウォールの通過が簡単になる。

FTPの制御用コネクションの設定は、必要な全てのコマンドを送信して応答を待つまでに往復遅延があるため、非常に遅くなる。そのため、毎回セッションを破棄して再確立するのではなく、制御用コネクションを確立した後、それを複数のファイル転送のために開いたままにするのが一般的である。これとは対照的に、HTTPはその方が安価であるため、元々転送ごとにコネクションを切断していた。その後、HTTPには複数の転送に1つのTCP接続を再利用する機能が追加されたが、概念モデルとしてはセッションではなく独立した要求である。

FTPがデータ用コネクションを介して転送している間、制御用コネクションはアイドル状態である。転送に時間がかかりすぎると、ファイアウォールやNATは制御用コネクションが無効であると判断してそれを追跡しなくなり、事実上接続が切断されてしまう。HTTP接続においてはアイドル状態となるのは要求と要求の間のみであり、タイムアウトした後にコネクションがドロップされるのは正常で、予期されたものである。

Webブラウザの対応

かつてはほとんどの一般的なWebブラウザは、FTPサーバに格納されているファイルを取得することができた。しかし2020年以降主要ブラウザはあいついでFTPサポートを廃止した。

セキュリティ

FTPは、インターネット初期から存在する古いプロトコルであり、セキュア(安全)なプロトコルとして設計されていない。ユーザ名やパスワードなどの認証情報を含むすべての通信内容を暗号化せずに転送するなどの問題の他、数多くのセキュリティ脆弱性が指摘されている[12]RFC 2577(1999年5月)では、以下の脆弱性が列挙されている。

FTPは通信内容を暗号化できない。全ての送信は平文で行われるため、通信経路上でパケットをキャプチャすることで、ユーザ名・パスワード・コマンド・データといった情報を容易に盗聴できる[3][12]。この問題は、TLS/SSLなどの暗号化メカニズムが開発される前に設計された他のインターネットプロトコル仕様(SMTPTelnetPOPIMAPなど)でも同様である[5]

この問題に対する一般的な解決策は、次の通りである。

  1. 安全なバージョンのプロトコルを使用する。例えば、FTPの代わりにFTPS、Telnetの代わりにTelnetSを使用する。
  2. SSH File Transfer Protocol(SFTP)やSecure Copy Protocol(SCP)など、ジョブを処理できるより安全なプロトコルを使用する。
  3. Secure Shell(SSH)やVPNなどのセキュアトンネルを使用する。

FTPは、Gumblarなどのコンピュータウイルスの標的にもされた。そのため、現在では、FTPではなく前述の FTPS (SSL/TLSを使ったFTP) や SFTP (SSH File Transfer Protocol)、SCPSSH上でのrsync、など暗号化された手法を用いることが強く推奨される。

FTP over SSH

FTP over SSHは、Secure Shell接続を介して通常のFTPセッションをトンネリングする方法である[12]。FTPは複数のTCP接続を使用するため、SSHを介してトンネリングすることは特に困難である。多くのSSHクライアントでは、制御チャネル(ポート21による最初のクライアントとサーバの間の接続)用にトンネルを設定しようとすると、そのチャネルだけが保護される。データを転送するときは新しいTCP接続(データチャネル)を確立するため、機密性完全性の保護はない。

そのため、SSHクライアントソフトウェアがFTPプロトコルの情報を持ち、FTP制御チャネルのメッセージを監視して書き換え、FTPデータチャネルのための新しいパケット転送を自律的に開く必要がある。

派生プロトコル

FTPS

明示的FTPS(Explicit FTPS)は、クライアントがFTPセッションの暗号化を要求できるようにするFTP標準の拡張である。これは、"AUTH TLS"コマンドを送ることによって行われる。サーバには、TLSを使用しない接続の許可・拒否のオプションがある。このプロトコル拡張は、 RFC 4217で定義されている。

暗黙的FTPS(Implicit FTPS)は、SSL/TLS接続の使用を必要するFTPの古い標準であり、通常のFTPとは異なるポートを使用するように指定されていた。

SFTP

SSH File Transfer Protocol(SFTP)は、ファイル転送にSecure Shell(SSH)プロトコルを使用する。FTPとは異なり、コマンドとデータの両方を暗号化し、パスワードや機密情報がネットワークを介して公に送信されるのを防ぐ。FTPサーバやクライアントとは相互運用できない。

TFTP

Trivial File Transfer Protocol(TFTP)は、クライアントがリモートホストからファイルを取得したり、リモートホストにファイルを保存したりすることを可能にする単純なロックステップのFTPである。TFTPは認証を行わないため実装が非常に簡単であり、主にネットワークブートの初期段階で使用される。TFTPは1981年に最初に標準化された。TFTPの現在の仕様は RFC 1350である。

Simple File Transfer Protocol

Simple File Transfer Protocolは、TFTPとFTPの中間的なレベルの複雑さを持つ(セキュアではない)FTPとして提案された。 RFC 913で定義されている。このプロトコルもSSH File Transfer Protocolと同様"SFTP"と略称されるが、この略称を持つプロトコルの中ではSimple File Transfer Protocolの方が先に標準化されている。このプロトコルはインターネットで広く受け入れられず、このRFCはIETFによって"Historic"(歴史的文書)の状態とされている。

ポート115を介して実行され、多くの場合SFTPの初期設定を受信する。11のコマンドと、ASCII・バイナリ・連続の3つのデータ転送を持つ。 ワードサイズが8ビットの倍数であるシステムでは、バイナリモードと連続モードの実装は同じである。このプロトコルは、ユーザーIDとパスワードによるログイン、階層フォルダーとファイル管理(名前の変更、削除、アップロード、ダウンロード、上書きダウンロード、追加ダウンロード)に対応する。

その他の同様の目的に使えるプロトコル

FTPコマンド

FTPリターンコード

FTPサーバから返されるリターンコードは RFC 959で標準化されている。リターンコードは3桁の数値である。

1桁目は、成功、失敗、エラー・不完全な応答のいずれかを示す。

  • 2yz – 成功応答
  • 4yz, 5yz – 失敗応答
  • 1yz, 3yz – エラー・不完全な応答

2桁目は、エラーの種類を表す。

  • x0z – 構文。構文エラーを表す。
  • x1z – 情報。情報の要求に応答する。
  • x2z – コネクション。制御用コネクションやデータ用コネクションに関するエラーを表す。
  • x3z – 認証とアカウント。ログインプロセスとアカウントに関するエラーを表す。
  • x4z – 未定義。
  • x5z – ファイルシステム。サーバのファイルシステムからのステータスコードを中継する。

3桁目は、2桁目で定義されている各カテゴリの詳細情報を提供するために使用される。

関連項目

脚注

  1. ^ a b c Forouzan, B.A. (2000). TCP/IP: Protocol Suite (1st ed.). New Delhi, India: Tata McGraw-Hill Publishing Company Limited 
  2. ^ 「Firefox」でもFTP対応が廃止へ ~「Google Chrome」「Microsoft Edge」に続く”. 窓の杜 (2021年4月16日). 2023年5月6日閲覧。
  3. ^ a b c d e f g h i Kozierok, Charles M. (2005年). “The TCP/IP Guide v3.0”. Tcpipguide.com. 2019年6月12日閲覧。
  4. ^ a b c d Dean, Tamara (2010). Network+ Guide to Networks. Delmar. pp. 168–171 
  5. ^ a b c d Clark, M.P. (2003). Data Networks IP and the Internet (1st ed.). West Sussex, England: John Wiley & Sons Ltd. 
  6. ^ a b Active FTP vs. Passive FTP, a Definitive Explanation”. Slacksite.com. 2019年6月12日閲覧。
  7. ^ RFC 959 (Standard) File Transfer Protocol (FTP). Postel, J. & Reynolds, J. (October 1985).
  8. ^ RFC 2428 (Proposed Standard) Extensions for IPv6, NAT, and Extended Passive Mode. Allman, M. & Metz, C. & Ostermann, S. (September 1998).
  9. ^ Preston, J. (January 2005). Deflate transmission mode for FTP (英語). IETF. I-D draft-preston-ftpext-deflate-03.txt. 2016年1月27日閲覧
  10. ^ Should Organizations Retire FTP for Security?”. Security Week. Security Week. 14 September 2017閲覧。
  11. ^ a b c Gleason, Mike (2005年). “The File Transfer Protocol and Your Firewall/NAT”. Ncftp.com. 2019年6月12日閲覧。
  12. ^ a b c Securing FTP using SSH”. Nurdletech.com. 2019年6月12日閲覧。

参考文献

  • RFC 697 – CWD Command of FTP. July 1975.
  • RFC 959 – (Standard) File Transfer Protocol (FTP). J. Postel, J. Reynolds. October 1985.
  • RFC 1579 – (Informational) Firewall-Friendly FTP. February 1994.
  • RFC 1635 – (Informational) How to Use Anonymous FTP. May 1994.
  • RFC 1639 – FTP Operation Over Big Address Records (FOOBAR). June 1994.
  • RFC 1738 – Uniform Resource Locators (URL). December 1994.
  • RFC 2228 – (Proposed Standard) FTP Security Extensions. October 1997.
  • RFC 2389 – (Proposed Standard) Feature negotiation mechanism for the File Transfer Protocol. August 1998.
  • RFC 2428 – (Proposed Standard) Extensions for IPv6, NAT, and Extended passive mode. September 1998.
  • RFC 2577 – (Informational) FTP Security Considerations. May 1999.
  • RFC 2640 – (Proposed Standard) Internationalization of the File Transfer Protocol. July 1999.
  • RFC 3659 – (Proposed Standard) Extensions to FTP. P. Hethmon. March 2007.
  • RFC 5797 – (Proposed Standard) FTP Command and Extension Registry. March 2010.
  • RFC 7151 – (Proposed Standard) File Transfer Protocol HOST Command for Virtual Hosts. March 2014.
  • IANA FTP Commands and Extensions registry – The official registry of FTP Commands and Extensions

外部リンク


ftp

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/13 01:34 UTC 版)

Apache Ant」の記事における「ftp」の解説

FTP接続開始してファイルアップロードダウンロードなどを可能にする。

※この「ftp」の解説は、「Apache Ant」の解説の一部です。
「ftp」を含む「Apache Ant」の記事については、「Apache Ant」の概要を参照ください。

ウィキペディア小見出し辞書の「ftp」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

「FTP」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ftp」の関連用語

ftpのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ftpのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2025実用日本語表現辞典 All Rights Reserved.
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
JERICHO CONSULTINGJERICHO CONSULTING
Copyright (C) 2025by Jericho Consulting Co.,Ltd. All Rights Reserved.
オムロン株式会社オムロン株式会社
© Copyright OMRON Corporation 1996-2025. All Rights Reserved.
アライドテレシス株式会社アライドテレシス株式会社
Copyright(c)2025 Allied Telesis K.K. All Rights Reserved.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【FTP】の記事を利用しております。
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2025 by the PHP Documentation Group.
三栄書房三栄書房
Copyright c San-eishobo Publishing Co.,Ltd.All Rights Reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのFTP (改訂履歴)、File Transfer Protocol (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのApache Ant (改訂履歴)、Bluetooth (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS