用docker创建ftp:

docker run -d -v /tmp/ftp:/home/vsftpd \
-p 20:20 -p 21:21 -p 21100-21110:21100-21110 \
-e FTP_USER=test -e FTP_PASS=test \
-e PASV_ADDRESS=127.0.0.1 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 \
--name vsftpd --restart=always fauria/vsftpd

键入ftp 127.0.0.1,然后键入用户名test,密码test,登入ftp。

230 Login successful.
ftp> 

然后输入ls命令,却报错:

ftp> ls
500 Illegal PORT command.
500 Unknown command.
425 Use PORT or PASV first.

键入passive,将ftp由active模式转到passive模式:

ftp> passive
Passive mode on.

现在可以正常用ls和dir命令啦。

ftp> ls
227 Entering Passive Mode (127,0,0,1,82,108).
150 Here comes the directory listing.
drwx------    3 ftp      ftp            96 Aug 23 08:03 reconcile
226 Directory send OK.

更多关于ftp active和passive模式的信息可参考:
Active FTP vs. Passive FTP, a Definitive Explanation

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐