FTPプロトコル概要 | ||||||||||||||
●概要 FTP(File Transfer Protocol) は呼んで字の如く、ファイルを転送する為の通信手段です。 FTPはコマンドのやり取りを行う為の回線(接続)と、データを転送する為の回線があります。 ●コマンド用の回線 コマンド用の回線はクライアントからコマンドを送信しサーバから結果を受け取るといった 対話型の手順になります。
●データ転送用の回線 転送するデータの形式(TYPE)を指定し、転送を行うコマンド(LIST/NLST/RETR/STUR/STOU/APPE)を 実行すると、指定した手順(PORT/PASV)で回線を接続しデータの転送を行う。 |
FTPプロトコルコマンド | ||
コマンド名 | 引数 | コマンドの機能概要 |
USSR | ユーザID | サーバにログインする為のユーザIDを指定する |
PASS | パスワード | サーバにログインする為のパスワードを指定する |
ACCT | アカウント | サーバにログインする為のアカウントを指定する |
CWD | ディレクトリ名 | 指定したディレクトリに移動する |
CDUP | ディリトクリを1階層上に移動する(CD ..) | |
SMNT | ||
REIN | ||
QUIT | 無し | ログアウト(回線切断)を行う |
PORT | 接続情報 | データ転送時(RETR、STOU、STOR、LIST、NLST) 指定した接続先にサーバが接続することを要求する パラメータにクライアント側の接続情報(※1)を指定する |
PASV | 無し | データ転送時(RETR、STOU、STOR、LIST、NLST) サーバに対して接続することを要求する 応答にサーバ側の接続情報(※1)がある。 |
TYPE | A:テキスト(アスキー) I:バイナリ(イメージ) 他:未対応 | データ転送時(RETR、STOU、STOR、LIST、NLST)転送モードを指定する テキスト指定時に区切りをCRLFにする |
STRU | F/R/P | |
MODE | S/B/C | |
RETR | 受信ファイル名 | サーバから指定したファイルを受信する |
STUR | 送信ファイル名 | サーバへ指定したファイルを送信する 同名のファイルがある時は上書きされる |
STOU | 送信ファイル名 | サーバへ指定したファイルを送信する 同名のファイルがある時は失敗する |
APPE | 送信ファイル名 | サーバへ指定したファイルを送信する 同名のファイルがある時は追加される |
ALLO | 確認データサイズ | サーバが指定サイズのデータを送信可能か 確認します(NOOPとして扱うサーバもある) |
REST | ||
RNFR | 変更前ファイル名 | 指定したファイル名をRNTOで変更します |
RNTO | 変更後ファイル名 | RNFRで指定したファイル名を変更します |
ABOR | データ転送の中止 (間に合わない事が多い?) | |
DELE | 削除ファイル名 | 指定したファイルを削除します。 |
RMD | 削除ディレクトリ名 | 指定したディレクトリを削除します。 但し、ディレクトリに何か有ると失敗する |
MKD | 作成ディレクトリ名 | 指定したディレクトリを作成します。 |
PWD | 無し | 現在の作業(カレント)ディレクトリを取得する |
LIST | ディレクトリ名 | 指定したディレクトリのリストを取得する ※情報の形式はOSに依存する (UNIXの属性情報つきLSと同じ/EWSはls -la) |
NLST | ディレクトリ名 | 指定したディレクトリのリストを取得する 情報(名前)のみ ※プログラムでファイルを処理する時は便利? |
SITE | ||
SYST | 無し | サーバのOSタイプを取得する |
STAT | 無し | |
HELP | コマンド名 | 使用可能コマンドやコマンドの引数を確認します |
NOOP | 無し | サーバとの接続を確認します 一定時間通信が無いとサーバは回線を切断します |
※1:接続情報 XXX,XXX,XXX,XXX,xxx,xxx 1,2,3,4,5,6 1〜4:IPアドレスの第1〜4バイト 5 :ポート番号の上位1バイト 6 :ポート番号の下位1バイト 例1:218,216,67,37,151,101 IP 「218.216.67.37」 ポート「38757」 |
FTPプロトコルフロー | |
![]()
| |
![]()
| |
![]()
| |
![]()
| |
![]()
| |
![]()
|