PDA

View Full Version : ftp hang - has to be simple problem...



thorby
02-06-2005, 08:58 PM
Knoppix installed perfectly to HD and uses the network nicely through my DSL modem. But attempts to install code using perl CPAN fail: any attempt to download data just hangs until it is killed.

To make this as simple as possible I use the ftp command, with these results:
ftp -nv ftp.cs.colorado.edu
Connected to www-users.cs.colorado.edu.
220-------- Welcom to Pure-FTPd [privsep] [TLS] --------------
220-You are user number 9 of 50 allowed.
220-Local time is now 12:24. Server port: 21.
220-Only anonymous FTP is allowed here
220 You will be disconnected after 15 minutes of inactivity.
remote system type is UNIX.
Using binary mode to transfer files.
ftp> user anonymous
230 Anonymouse user logged in
ftp> cd pub/perl/CPAN/authors
250 OK. Current directory is /pub/per/CPAN/authors
ftp> get 01mailrc.txt.gz
local: 01mailrc.txt.gz remote: 01mailrc.txt.gz
200 PORT command successful
150-Connecting to port 29449
150 91.9 kbytes to download
...and that is that, nothing more happens, the modem lights don't flash, zip, until I hit ^C to abort the receive, then ftp successfully negotiates an abort.

Clearly the network is working, name lookup ok, status data transferred in both directions, but when it comes time to transfer a stream of data, nothing. (Same result to the 'dir' command, btw)

What simple stupid thing could I be overlooking, do you think?

tom p
02-06-2005, 09:59 PM
Do you use a firewall?

Background: FTP is one of the more complex protocols; if you use a FTP client, you open a connection from your computer to port 21 on the requested FTP server; and unless you use passive FTP, your FTP client in turn opens another port on your computer where it listens for incoming traffic from the FTP server. Most firewalls (legitimatley) block attempts to connect to a (more or less) random port on your computer - that might be your problem.

Therefore passive FTP was "invented". The difference is, that your computer no longer provides the server side for the incoming data stream, but instead opens another connection to the FTP server connecting to a port told by the FTP server for the data connection, thus circumventing the blocking of the firewall.

So my advice would be to try reading the ftp command man page and find out how to use passive ftp.

Ciao,
Thomas

Markus
02-06-2005, 10:17 PM
Something wrong with their ftp setup since there's an "l" missing from perl on the second line here:
ftp> cd pub/perl/CPAN/authors
250 OK. Current directory is /pub/per/CPAN/authors

Just get the file with a browser from ftp://ftp.cs.colorado.edu/pub/perl/CPAN/authors/01mailrc.txt.gz

thorby
02-08-2005, 09:44 PM
The problem is not a firewall nor use of passive/active ftp, the failure is the same with both. The problem seems to be that any transfer of streamed data exceeding about 1k hangs. Using manual ftp, if I use the "dir" command, which opens an ASCII transfer for a file list from the host, it works great as long as there are only a few files to display. If the directory is big, it hangs. I discovered the problem attempting to use cpan to get a perl module, but it is evident also using dselect and apt-get, and shows up in http as well, like if I try to post a short reply here, Konqueror times out trying to preview a long post but works for one this small!