如何检查被动和主动FTP


14

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

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


2
您的问题很模糊。您通过FTP下载还是运行FTP服务器?
jofel 2012年

@Rahul Patil我的回答符合您的问题吗?如果是这样,请考虑接受我的回答。
萧晨

再次输入后passive,表示被动关闭。
拉胡尔·帕蒂尔

Answers:


11

我发现答案如下。

在被动模式下,我们可以运行ls命令,但在主动模式下,我们必须通过键入passivecommand 手动禁用被动模式,然后它将接受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> 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”


同意,passivels内客户端是检查一个简单的方法。实际上,如果我们可以将“ PASV”发送到服务器,则服务器将答复答案。但是我在ftp客户端中找不到该命令。
萧晨

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> 

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是请求服务器使用被动模式。


甚至vsftpd.conf中的“ pasv_enable = NO”,被动命令都说“被动”模式打开。
拉胡尔·帕蒂尔

您是否在nat路由器后面进行了测试?如果您可以下载文件,那么它实际上已打开。另一种方法是强制ftp客户端仅使用被动模式并进行测试。

约翰,您好,请检查上面的帖子,如果我错了,请告诉我
Rahul Patil

@RahulPatil是的,您是正确的。我的原始答案仅在客户端设置被动模式。我用正确的方法修改了答案。您的信息/方法也是正确的。
约翰兆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.