【发布时间】:2014-08-02 07:37:41
【问题描述】:
我想为我的 FTP 服务器添加对 PORT 命令的支持。我正在阅读 RFC 959,但我不知道何时可以安全地连接到 FTP 客户端。例如,考虑这个序列:
PORT 127,0,0,1,34,34
LIST
FTP 客户端是在发出 PORT 命令之前开始侦听,还是在发出 LIST 命令之后开始侦听?因为如果服务器在收到 PORT 后立即尝试连接客户端,可能会失败,因为客户端可能还没有开始监听。
规范是怎么说的?服务器可以立即连接,还是应该等到它收到将使用数据连接的命令后?
【问题讨论】:
-
PORT 命令指示服务器连接到该端口。除非客户端已经在监听该端口,否则发出它是没有意义的。一方面,它无法知道端口是否可用。
-
@EJP 你只需要绑定一个端口来查看它是否可用,你不必监听它。
标签: ftp