まず、FTPとは何ですか。ファイル転送プロトコルの原則
インターネットファイル転送プロトコル(FTP)標準は、RFC 959に記述されています。このプロトコルは、リモートコンピュータシステムとローカルコンピュータシステムとの間でファイルを転送するための規格を定義している。一般に、ファイルを転送するユーザーは、リモートサーバー上のファイルにアクセスする前にサイトにログインする前に認証を受ける必要があります。ほとんどのFTPサーバーは、リモートサーバーを持たないユーザーがFTPサーバーにアクセスできるようにするためにGUESTパブリックアカウントを提供することがよくあります。
FTPセッションは通常、5つのソフトウェア要素の相互作用を伴います。
ユーザーインターフェースはユーザーインターフェースを提供し、クライアントプロトコルインタプリタのサービスクライアントPIクライアントプロトコルインタプリタを使用します。そのエントリリモートサーバープロトコルマシンはコマンドを送信し、クライアントデータ転送プロセスサーバーPIサーバープロトコルインタプリタを駆動します。クライアントプロトコルマシンによって発行されたコマンドに応答して、完了およびサーバーデータ送信プロセスを担当するサーバー側データ送信プロセスクライアントDTPクライアントデータ送信プロセスおよび完了および顧客データを担当するクライアントローカルファイルシステム通信サービスDTPサーバーデータ送信プロセスを駆動する。送信プロセスとサーバーサイドのファイルシステム通信
RFC 959では、ユーザーという用語は一般に顧客を指すのに使用されます。 RFC 959は、顧客PIとサーバーPIのやり取りの方法と仕様を定義しています。ユーザーインターフェイスがPIおよびDTPとやり取りするメカニズムは、プロトコル標準の一部ではありません。 PIとDTPは多くの場合、同じプログラムモジュールに実装されています。
FTPセッションには2つの別々のネットワーク接続があります。1つは両端のPIによって使用され、もう1つは両端のDTPによって使用されます。 PI間の接続は一般に制御接続と呼ばれ、DTP間の接続はデータ接続と呼ばれます。
TCPサービスを使用した制御とデータ接続
通常、FTOサーバーはポート21番で待機して制御接続確立要求を待ちます。データ接続ポート番号の選択は、制御接続のコマンドによって異なります。通常、クライアントは、クライアントが待機するポート番号を指定するための制御メッセージを送信し、サーバーがデータ接続設定要求を送信するのを待ちます。
データ送信と制御コマンド送信に異なる独立した接続を使用すると、次のような利点があります。2つの接続で異なる適切なサービス品質を選択できます。データ接続にはより大きなデータスループットが必要であり、データストリーム内のコマンドの透明性とエスケープを回避します。
転送が確立されると、常にクライアントによって最初に開始されます。ただし、クライアントとサーバーの両方がデータ送信者になることがあります。ファイルをダウンロードするためのユーザ要求を送信することに加えて、クライアントが列サーバ側のディレクトリ構造を要求したときにもデータ転送プロセスが確立される。
1.コマンドの選択
転送が確立されると、通常4つの属性を指定する必要があります。
ファイルタイプこの属性は、ファイルのデータをどのように一致させるかを指定します。送信に適した形式には、4つの可能なオプションがあります。
ASCIIファイルタイプは送信側にあり、ファイルはローカルテキストファイル形式からNVT ASCII形式に変換され、各行の終わりにCR /LFペアがあります。 。受信側では、ローカルテキストフォーマットに変換されます。
Unixホスト間でテキストファイルを転送すると、転送されるデータ量が実際のファイルサイズよりも大きくなる理由が説明されています。 ASCIIテキストエンコーディングが送信側にも送信側にも使用されない場合、ローカルエンコーディングとNVT ASCIIエンコーディングとの間の変換はデータ送信プロセスによって実行されるべきです。
EBCDICファイルタイプはASCIIに似ていますが、EBCDIC文字エンコーディングを使用しています。
画像(またはバイナリ)ファイルタイプファイルを使用してコンテンツをローカルに転送します。コンテンツストレージ
ローカルファイルシステムバイトサイズが8ビットではない環境で使用されます。送信者によって指定されたバイト数はありません。
実用的な用途では、ASCII形式と画像形式のみが使用されます。
フォーマット制御この属性は、テキストファイルの印刷装置への最終転送に関連するもので、新しいページの開始を示す方法など、垂直フォーマット情報をファイルに符号化する方法がいくつかあります。次のオプションがあります。
フォーマット制御を印刷する必要はありません。これはデフォルト値のTelnet印刷制御です。telnetプロトコルで定義されている制御文字がデータストリームに含まれます。 Fortran印刷制御、この特性は実際にはめったに使用されません。
構造ファイルは、転送中に保存される内部構造を持つことができます。データ転送プロセスは、送信時に構造とローカル構造を一致させることに責任があります。
ファイル構造これは、ファイルが内部構造を持たない連続したバイトストリームとして扱われることを意味します。 。
レコード構造ファイルは一連のレコードからなる構造です。これはテキストファイルにのみ適用されます。
ページ構造はブロック構造とも呼ばれます。各ページはページ番号と共に送信されて順次転送を完了する。ページ構造が実際にはめったに発生しません。レコード構造もあまり一般的ではありません。テキストファイルにASCIIファイルタイプを使用しても同じ効果が得られます。
転送モードこの属性には、3つの異なる値があります。
ストリームモードファイルはバイトストリームで送信されます。
ブロックモードファイルはブロックとしてブロックに転送され、各ブロックの先頭にはヘッダーがあります。
圧縮モード連続する同一バイトを圧縮するために、単純なランレングス圧縮エンコーディングが適用されます。
実際には、通常ストリーミングモードのみが使用されます。圧縮は一般に、他のさまざまなユーティリティプログラムを使用して行われます。
転送が確立されると、クライアントは通常、前述の1つ以上の属性を指定します。サーバーがオプションをサポートしていない場合、サーバーはエラーメッセージでクライアントに応答し、ネゴシエーションメカニズムを持ちません。
FTPは、ユーザーが接続を確立し、リモートファイルシステムにアクセスするための十分なコマンドを提供します。
2.コマンドの形式
コマンドはNVT ASCII文字列の形式で送信されます。各コマンドは、3文字または4文字の大文字のNVT ASCII文字で始まり、その後にコマンドの末尾を識別するためのオプションパラメータとCR /LFペアが続きます。
応答は、3つのNVT ASCII数字とオプションメッセージで構成されます。
長い応答は複数のメッセージで構成され、最初のメッセージに3桁の数字が続き、最後のメッセージにダッシュがありません。真ん中のメッセージには3つの番号を付ける必要はありませんが、3つの番号を持ってくる場合はダッシュも必要です。
以下はすべてのコマンドの一覧です。アスタリスクの付いたコマンドはめったに使用されないため、特定の実装ではサポートされないことがよくあります。
文字列意味ABOR放棄転送* ACCT一部のシステムは、アカウントとユーザーをファイルシステムに関連付けます* ALLOは、転送するファイル用のスペースを割り当てます。バイト数を判別するためのパラメーターの後ろ* APPEファイルを既存のファイルに添付CDUP現在のディレクトリーをリモート・システムの親ディレクトリーに切り替えるCWDリモート・システムの作業ディレクトリーを変更するDELEリモート・システムのファイルを削除する読み取りサーバーサポートされているコマンドのリスト
LIST新しく確立されたデータ接続の現在の作業ディレクトリにあるファイル名のリストを送信します。MKDディレクトリの作成モード転送モードを指定します。移植可能なパラメータは次のとおりです。 NLSTは、新しく作成されたデータ接続の現在のディレクトリにディレクトリリストNOOPの空の操作を送信し、接続が切断されないようにしますPASSは、USERコマンドの直後に続く必要があるユーザログインパスワードを提供します。 * PASVは、クライアントのデータ接続接続確立要求をlistenするサーバー・データ転送プロセスを指定します。PORTは、サーバーがPWD表示を確立するのを待っている接続のポート番号をサーバー側で待機することを指定します。 QUITログアウトの記録と接続の終了
* REIN再初期化、ログアウト、切断はしないで、新しいUSERコマンドを続ける必要があります。* RESTリモートからサーバーのIDからRETRの転送を再開するシステムはファイルRMDを検索してディレクトリーを削除します。* RNFRは名前を付けるファイルの古いパス名を指定し、その後にRNTOコマンドを続けます。* RNTOは名前を付けるファイルの新しいパス名を指定します。サービス* SMNT構造のロード、ファイルシステム構造のリモートシステムパス名の提供* STATステータス情報STORファイルをサーバーにアップロードします。ファイルがすでに存在する場合は上書きします。* STOUはファイルをサーバーにアップロードし、既存のファイルは上書きしません。ファイル構造を指定し、パラメーターはF、R、またはPにすることができます。* SYSTはリモート・システムのオペレーティング・システム・タイプを報告しますTYPEはファイル・タイプを指定します、パラメーターはA、E、I、Lのみにできます。
制御接続コマンド応答の形式は以下のとおりです。
タイプ説明1yzアクティブな初期応答、in別のコマンドを送信する前に別のコマンドを送信する2yzアクティブに応答する、最後のコマンドが正常に終了3yzアクティブな中間応答、別のコマンドを送信する必要があります4yz一時的なパッシブレスポンス、要求されたアクションはその時点で完了できません要求されたアクションは完了できないため、再試行しないでください。
"y"番号エンコーディング詳細情報
数字意味0構文エラー1情報2接続ステータス3認証およびアカウンティング4予約済み5ファイル■ファイルシステムのステータス
以下に一般的なメッセージを示します。
番号意味125データ接続を開く、転送開始200コマンドOK 331ユーザー名OKパスワードを入力する必要があります425データ接続を開くことができません452エラー書き込みファイル500の構文エラー - 認識できない寿命
詳細については、RFCを参照してください。
wu-Ftpdの公式な権限はhttp://www.wu-ftpd.orgです。
DHCPサーバーの役割: DHCPサーバー言うまでもなく、DHCPサーバーを実行しないと、IPの顧客はネットワークにアクセスする能力の一部または全部を失うことになります。 DHCPサーバーは、企業ネッ
Linuxは中国語をサポートし、/etc /sysconfig /i18nファイルを修正します。 LANG =" zh_CN.GB18030" SUPPORTED =&quo
でCentOS 6.5のIPアドレスを設定する3つの方法実験的ソフトウェア環境:仮想マシンVmware Workstation 10.0、CentOS 6.5 32ビット 1、自動的にIPアドレスを取
I. DHCPの概要:DHCPの正式名称は、ローカルエリアネットワークで一般的に使用され、UDPプロトコルを使用し、主に内部ネットワーク内のマシンの割り当てに使用されます。 IPアドレス。管理者がネッ