Как проверить, какой FTP (пассивный или активный) работает?
По умолчанию пассивный FTP работает в Linux, но как я могу проверить?
passive
он говорит, пассивный выкл.
Как проверить, какой FTP (пассивный или активный) работает?
По умолчанию пассивный FTP работает в Linux, но как я могу проверить?
passive
он говорит, пассивный выкл.
Ответы:
Я нашел ответ, как показано ниже.
в пассивном режиме мы можем запустить ls
команду, но в активном режиме мы должны вручную отключить пассивный режим, набрав passive
команду, после чего она примет ls
команду, в противном случае выдаст ошибку 550 «отказано в разрешении». смотрите ниже (pasv_enable = NO в vsftpd.conf)
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 на сервере к соединению с высоким портом на клиенте. Не используется порт 21 на сервере для отправки результатов команды ls на сервер.
выше взято из "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
запрос к серверу использовать пассивный режим