Couldn't Start A File Retrieve
file retrieve can be performed normally, start by
a PASV command.
But when I use WinSCP to access my own Embedded
system by FTP, while the list command can be performed
normally but the file retrieve command can not. WinSCP
start to connect the 21(FTP)port through another port
as it already has a control link.In normal procedure,
it should send a PASV command instead of doing that.
Attachments below show the wireshark capture of the
two different behaviors.
I wonder what makes WinSCP do file retrieve in the two
different ways.
当我使用WinSCP访问标准Unix FTP服务的时候可以正常的使用下载功能下载文件
但是使用WinSCP访问我自己编写的嵌入式系统时,FTP的List指令正常执行了,但是下载功能没有正常执行。
本来下载功能会由客户端发起一个PASV命令然后紧接一个RETR命令,在Unix机器的通讯抓包中也可以看到这点
但是在WinSCP连接到我自己的嵌入式系统FTP服务之后,触发下载功能后WinSCP并没有发送PASV命令或者RETR命令或者PORT命令
而是使用了另一个TCP端口来连接已经于FTP控制套接字建立连接的服务器21端口。
这个行为很诡异,不知道哪位大神可以指点一下为什么WinSCP在下载操作时不发送PASV命令而是转而用另一个端口去连接21端口。