Connection to FileZilla FTP server works, but directory listing fails
While this question is old, there's no really comprehensive answer. So I'm adding one.
In the passive FTP mode (the most common mode nowadays), the FTP server listens on port 21 for an FTP control connection. But for all data transfers, including directory listings, it listens on an additional port. The port is picked out of a configured port range.
If you open only the 21 control port on the firewall, you get the described behavior. You can connect, but you cannot list directories or transfer files.
For details, see my article on Network configuration for passive FTP mode.
You have to go to Control Panel > System and Security > Windows Firewall > Advanced Settings > Inbound Rules > New Rule and add a new inbound rule for data port range your FTP server is using.
The port range that the FileZilla FTP server is using, is configured in Edit > Settings > Passive mode settings > Use custom port rage. You can configure a narrow range (like 10 ports), to limit a number of opened ports. You should use port numbers 1024 and above (up to 65535).
FTP needds more than port 21 (and it does not need UDP). The ports for the data connections are dynamic. If the server is behind a firewall you should try active FTP mode, if the client is behind firewall you should try passive mode. If both are behind restrictive firewalls which are not able FTP as a special protocol you are out of luck.
Try changing the Transfer mode to "Active".
To address this FTP error, follow below steps:
- Open Filezilla, go to Edit -> Settings
- Click on Connection -> FTP: Choose Active
- Click on Connection -> FTP -> Active Mode: Select “Ask your operating system for the external IP address”
Click on Connection -> FTP -> Passive Mode: Choose Fall Back to Active Mode
- See more at: http://technowide.net/2014/12/30/ftp-error-fail-to-get-directory-listing/#sthash.yZTFxdpt.dpuf
Follow steps in url: FTP error “Failed to retrieve directory listing”