The user that is having this issue accidentally hit cancel on the Windows Firewall prompt to allow the connection when he first tried the command.

After trying to use the 'put' command, it hangs on this line: 200 PORT subcommand request successful

I tried allowing the ftp.exe program through the firewall both inbound and outbound and it still hangs like above. I am not sure if there is a way to get the prompt back from when it first prompted him and hit allow this time.

After doing a little bit of digging what I understand is the ftp program is trying to use 'active ftp connection', which tells the server a random port number to establish the file transfer on.


The problem's the active mode. When that's used the server's trying to establish a connection with the client, but firewalls and NAT prevent that. Every SoHo router NATs the traffic between the user's system and the internet. Passive mode is recommended.

Unfortunately Windows command-line FTP client (ftp.exe) doesn't support passive mode. However there's any number of freeware FTP clients for Windows that do - in many of them it's even default setting.

Here's a couple of postings from StackOverflow discussing this issue:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.