回答:
以下のように答えを見つけました。
パッシブモードではls
command を実行できますが、アクティブモードではpassive
commandを入力してパッシブモードを手動で無効にする必要があり、ls
そうでない場合はコマンドを受け入れます。下記を参照(vsftpd.confのpasv_enable = NO)
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
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.
ls
サーバーで要求したリストは、サーバーのポート20を介してクライアントの高ポート接続に戻ります。サーバーのlsコマンドの結果を送り返すために、サーバーのポート21を使用することはありません。
上記は「http://www.markus-gattol.name/ws/vsftpd.html」から抽出されたものです
passive
してls
クライアント内でチェックするための簡単な方法です。実際、サーバーに「PASV」を送信できる場合、サーバーは回答を返信します。しかし、私はそれを行うためのコマンドをftpクライアント内で見つけることができません。
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
サーバーがパッシブモードを使用するためのリクエストです。