Re: [SLUG] FTP woes

From: Derek Glidden (dglidden@illusionary.com)
Date: Wed Mar 06 2002 - 13:34:57 EST


On Wed, 2002-03-06 at 12:35, Bill wrote:
> Here's the tale:
> I have been trying to set up an ftp server on my machine at home. I have the
> fixed IP, proftpd and so on.
>
> I am running NAT'd through a router that seems to be working just fine.
> Several folks have tried to help me off line and I think, to a limited
> extent, they have succeeded. I thank them all!
[snip]

I can't tell for sure, but I suspect it probably has to do with the
NAT'ing and the way FTP works. FTP wants to set up a separate data
channel on some high level port as well as the standard FTP "port 21"
connection.

In other words, FTP kind of works like this (this is very improvised and
nothing like what actually happens - for demonstration purposes only -
void in prohibited states):

client connects to server on port 21
server says "hello"
client says "hello"
everyone's happy with the base ftp session on port 21
client asks the server to send it some data (file or directory listing
or something like that)
the server tells the client "ok, first make a data connection on port
5374"
the client then attempts to connect to the server on port 5374 for its
data connection
the server sends the data over that new connection

If the data connection is good, everything goes as normal, otherwise
things just hang at step 7.

If your firewall doesn't understand the negotiation in step 6, nothing
will work. On Linux IPTables based firewalls, you'll need to have the
"ipconntrack_ftp" and "ip_nat_ftp" modules loaded explicitly to
successfully NAT an FTP session and make sure you have the "RELATED"
stateful rule enabled for incoming sessions.

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#!/usr/bin/perl -w
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map
{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;
$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)
[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h=5;$_=unxb24,join
"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*
8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}
print+x"C*",@a}';s/x/pack+/g;eval 

usage: qrpff 153 2 8 105 225 < /mnt/dvd/VOB_FILENAME \ | extract_mpeg2 | mpeg2dec -

http://www.cs.cmu.edu/~dst/DeCSS/Gallery/ http://www.eff.org/ http://www.anti-dmca.org/



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 17:45:25 EDT