How to check the Passive and Active FTP
I found the answer as below.
in passive mode we can run ls
command but in active mode we have to manually disable passive mode by typing passive
command then it will accept ls
command otherwise it's gives 550 permission denied error . see below (pasv_enable=NO in 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
listing that we asked for on the server comes back over the port 20 on the server to a high port connection on the client. No use of port 21 on the server is made to send back the results of the ls command on the server.
above is extracted from "http://www.markus-gattol.name/ws/vsftpd.html"
From ftp client, to check if remote ftp server support passive mode, after login, type quote PASV
.
Following are connection examples to a vsftpd server with passive mode on and off
vsftpd with 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 with 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>
The ftp command quote
send all arguments following it to remote server. Remote server will process them as command/request if applicable. PASV
is a request for server to use passive mode.