What confuses me is that setting Passive and using pasv() result in different commands beeing sent.
When using pasv(), the PORT command is still beeing sent:
debug using Passive=>1:
Net::FTP=GLOB(0x829328c)<<< 230 Logged in anonymously.
Net::FTP=GLOB(0x829328c)>>> CWD /z2/privacy/crypto/etext^M
Net::FTP=GLOB(0x829328c)<<< 250 "/z2/privacy/crypto/etext" is new cwd.
Net::FTP=GLOB(0x829328c)>>> PASV^M
Net::FTP=GLOB(0x829328c)<<< 227 Entering Passive Mode (192,35,244,50,2
+32,18)
Net::FTP=GLOB(0x829328c)>>> RETR ug.ps.gz^M
Net::FTP=GLOB(0x829328c)<<< 150 Data connection accepted from 62.116.6
+2.82:44135; transfer starting for ug.ps.gz (73235 bytes).
Net::FTP=GLOB(0x829328c)<<< 226 Transfer completed.
Debug using pasv():
Net::FTP=GLOB(0x8293280)<<< 230 Logged in anonymously.
Net::FTP=GLOB(0x8293280)>>> PASV^M
Net::FTP=GLOB(0x8293280)<<< 227 Entering Passive Mode (192,35,244,50,2
+32,0)
Net::FTP=GLOB(0x8293280)>>> CWD /z2/privacy/crypto/etext^M
Net::FTP=GLOB(0x8293280)<<< 250 "/z2/privacy/crypto/etext" is new cwd.
Net::FTP=GLOB(0x8293280)>>> PORT 62,116,62,82,172,96^M
Net::FTP=GLOB(0x8293280)<<< 200 PORT command successful.
Net::FTP=GLOB(0x8293280)>>> RETR ug.ps.gz^M
Net::FTP=GLOB(0x8293280)<<< 150 Opening ASCII mode data connection for
+ ug.ps.gz (73235 bytes).
Net::FTP=GLOB(0x8293280)<<< 226 Transfer completed.
----
amphiplex
Edit by tye to change PRE tags to CODE tags