in reply to Re: Re: Net::FTP and
in thread Net::FTP and 'Illegal PORT command'
Passive=>1when creating the ftp object should fix your problem. At least it did for me.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: Net::FTP and
by rob_au (Abbot) on Jul 17, 2002 at 11:56 UTC | |
According to the output supplied, it appears that the poster of this question is attempting to connect to the FTP from a machine with a private class address - This host address, along with the preferred socket for data communications, are sent to the server via the PORT command. I would suspect that the poster is connecting to the FTP server host through a network firewall or layer of address translation and as such, the data connection from the server to your machine is failing because the FTP server is unable to reach your private machine. The means by which to fix this is to switch to passive FTP transfer mode via the PASV command - This command changes the default behaviour of data port negotiation, shifting the onus for responsibility for data port establishment and maintenance back to the client. This allows the client to control its only data connection through the network firewall or translation layer, allowing normal FTP communications to occur. eg.
Further information on this topic can be found in RFC documents File Transfer Protocol, Requirements for Internet hosts - communication layers and Firewall-Friendly FTP.
| [reply] [d/l] [select] |
by amphiplex (Monk) on Jul 17, 2002 at 12:19 UTC | |
When using pasv(), the PORT command is still beeing sent: debug using Passive=>1:
Debug using pasv():
---- amphiplex Edit by tye to change PRE tags to CODE tags | [reply] [d/l] [select] |
|
Re: Re: Re: Re: Net::FTP and
by Bukowski (Deacon) on Jul 17, 2002 at 12:34 UTC | |
does indeed fix the problem under Linux.
Bukowski - aka Dan (dcs@black.hole-in-the.net) | [reply] [d/l] |