如何检查被动和主动 FTP

Rah*_*til 16 ftp

如何检查哪个 FTP(被动或主动)正在运行?

默认情况下,被动 FTP 在 linux 中运行,但我如何检查?

Rah*_*til 14

我找到了如下答案。

在被动模式下,我们可以运行ls命令,但在主动模式下,我们必须通过键入passive命令手动禁用被动模式,然后它将接受ls命令,否则会给出 550 权限被拒绝错误。见下文(在 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>
Run Code Online (Sandbox Code Playgroud)

ls我们在服务器上要求的列表通过服务器上的端口 20 返回到客户端上的高端口连接。不使用服务器上的端口 21 将 ls 命令的结果发回服务器上。

以上摘自“http://www.markus-gattol.name/ws/vsftpd.html”


Joh*_*Siu 8

从 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> 
Run Code Online (Sandbox Code Playgroud)

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> 
Run Code Online (Sandbox Code Playgroud)

ftp 命令quote将其后的所有参数发送到远程服务器。如果适用,远程服务器会将它们作为命令/请求进行处理。PASV是请求服务器使用被动模式。