どのFTP(手動またはアクティブ)が実行されているかを確認するには?
手動FTPはデフォルトでLinux上で実行されますが、どのように確認するのですか?
答え1
以下で答えを見つけました。
手動モードではコマンドを実行できますが、アクティブモードではコマンドを入力して手動モードを無効にする必要がls
あります。これでコマンドが受け入れられます。それ以外の場合、550 許可拒否エラーが発生します。以下を参照してください(vsftpd.confからpasv_enable = NO)。passive
ls
ftp> passive
Passive mode on.
ftp> ls
550 Permission denied.
Passive mode refused.
ftp> passive
Passive mode off.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files1
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files10
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files2
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files3
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files4
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files5
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files6
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files7
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files8
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files9
-rw-r--r-- 1 0 0 10240 Jan 11 2013 test.tar
226 Directory send OK.
ftp>
ls
サーバーから要求されたリストは、サーバーのポート20を介してクライアントの高ポート接続として返されます。サーバーのポート 21 は、サーバーから ls コマンドの結果を再送信するためには使用されません。
上記は「http://www.markus-gattol.name/ws/vsftpd.html」からのものです。
答え2
FTPクライアントでリモートFTPサーバーがパッシブモードをサポートしていることを確認するには、ログイン後に入力しますquote PASV
。
以下は、手動モードのオンとオフを切り替えるvsftpdサーバーへの接続の例です。
vsftpdティーンpasv_enable=NO
# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.3.5)
Name (localhost:john): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quote PASV
550 Permission denied.
ftp>
vsftpdティーンpasv_enable=YES
# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.3.5)
Name (localhost:john): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quote PASV
227 Entering Passive Mode (127,0,0,1,173,104).
ftp>
ftpコマンドは、次のquote
すべてのパラメータをリモートサーバーに送信します。該当する場合、リモートサーバーはそれをコマンド/要求として処理します。PASV
サーバーにパッシブモードを使用するように要求します。