We are attempting to set up a VC connection to a client's (external) secure FTP site, and encountering the following issue.
When we use Ipswitch WS-FTP Pro (an FTP client) to manually test our login to the site, we use the following checkbox to get it to work: "Force passive connections to use host address."
Then, when we attempt to connect to the FTP server and transfer the file, we see the following output:
PASV Entering passive mode (<their private IP address - not their public IP address we established the connection with>
connecting data channel to <private IP address>
Substituting connection address <public IP address that we established the connection with> for private address <private IP address> from PASV
...and we are able to upload a file to the FTP server.
When we use VC to attempt upload the file, we get the following output:
PASV Entering passive mode (<private IP address).
LIST
Opening data connection.
QUIT
I think what is happening is that the client's FTP server is behind something that provides natting; when the FTP session enters passive mode, their FTP server responds with their private address, rather than the public IP address that we started the session with. When we use WS-FTP Pro, the before-mentioned checkbox option forces the FTP client to switch back to the public IP address, and we can continue the FTP session and transfer the file. When we use VC to attempt to transfer the file, the FTP client attempts to respond back to their server with their private IP address, and the session is then rejected, and we can't transfer a file.
I think what we need to do is to identify the command equivalent to that checkbox in WS-FTP Pro, and use that as a custom command. I did find a command, that as best as I can tell, seems to be what should be required - "EPSV". However, when I use that as a custom command, in conjunction with the FTP upload, I get the response back from their FTP server "EPSV command not understood", so it seems that their server does not support that command.
The simple solution would be to ask our client what command their FTP server might support for this. The problem is, that they want us to use their FTP client - we, of course, would much, much, much prefer to use VC.
Does anyone have any idea what might be a command equivalent to the "Force passive connections to use host address" option in WS-FTP Pro, or have any other ideas on what might allow this to work? (While my research turned up "EPSV", I'm not entirely certain that is correct, or at least the not the only option. For one thing, if that were the underlying command for that option in WS-FTP Pro, then I would think that WS-FTP Pro wouldn't work, either, if their server doesn't support it. Also, I don't see that command ever used in the output from the WS-FTP Pro connection - I can't identify a command in the output that might correspond to the checkbox.
Edited by user
2008-11-07T11:12:54Z
|
Reason: Not specified