共用方式為


Some perl clients get error message after upgrading FTP server from IIS 6 to 7

Symptom:

FTP client get below error

425-Cannot open data connection.

 Win32 error: The network connection was aborted by the local system.

 Error details: Client IP on the control channel didn't match the client IP on the data channel.

 

Troubleshooting:

1.       We followed the steps in https://support.microsoft.com/kb/941940 to test opening FTP passive mode connection between the FTP server and the remote client. It worked, so it is a client issue.

2.       From the FTP client output, we found the client first submitted a “quote pasv” to request a passive mode connection, but later used active mode to transfer data.

The FTP server detected that problem and responded the above error message.

3.       FTP 6.0 allows this client behavior, since FTP 7.0 this behavior is denied in order to follow the protocol standard.

4.       Below is part of the FTP client script, it is written in Perl language.

use FMT::svftp;

$ftp = new svftp(SourceServer=>"$srcSrv", SourceUser=>"$srvUsr", SourcePwd=>"$srvPwd",

                                                                                                                DestServer=>"$destSrv", DestUser=>"$destUsr", DestPwd=>"$destPwd", Debug=>1);

 

Solution:

It seems the FMT::svftp module could not handle FTP passive mode correctly.

We are not able to involve the Perl module provider. In order to work around this issue, we decide to downgrade the FTP server to 6.0 by installing the FTP 6.0 component shipped with Windows server 2008. It works.

 

Thanks!

 

JunTao