| The best thing you can 
							do to "see" it yourself is to grab a packet sniffer 
							which you will conveniently find in our download 
							section and try to capture a few packets while 
							you're ftp'ing to a site. 
							Both 
							Ports - 20 and
							21 - 
							Active FTP Mode I have included a 
							screenshot from my workstation which clearly shows 
							the 2 ports used. In the example, I have ftp'ed into 
							ftp.cdrom.com. Please
							
							click here to view the full picture 
							   
							Only Port 21 - Passive FTP Mode Now, in the next 
							picture I ftp'ed into my NetWare server here at home 
							and guess what .... Only Port 
							21 was used ! Here is the screen shot: 
							 Please
							
							click here to view the full picture. Let 
							me explain why this is happening: FTP has two separate 
							modes of operation: Active 
							and Passive. You will 
							use either one depending on whether your PC is 
							behind a firewall. 
							Active Mode FTP 
							Active mode is 
							usually used when there isn't any firewall between 
							you and the FTP server. In such cases you have a 
							direct connection to the Internet. When you (the 
							client) try to establish a connection to a
							FTP server, your 
							workstation includes a second port number (using the
							PORT command) that is 
							used when data is to be exchanged, this is known as 
							the Data Channel.  The
							FTP server then starts 
							the exchange of data from its own
							port 20 to whatever 
							port was designated by your workstation (in the 
							screen shot, my workstation used port 1086), and 
							because the server initiated the communication, it's 
							not controlled by the workstation client. This can 
							also potentially allow uninvited data to arrive to 
							your computer from anywhere posing as a normal
							FTP transfer. This is 
							one of the reasons Passive FTP 
							is more secure. 
 
							Passive Mode FTP Using normal or
							passive FTP, a client 
							begins a session by sending a request to communicate 
							through TCP port 21, 
							the port that is conventionally assigned for this 
							use at the FTP server. 
							This communication is known as the Control Channel 
							connection. 
 At this point, a
							PASV command is sent 
							instead of a PORT 
							command. Instead of specifying a port that the 
							server can send to, the PASV 
							command asks the server to specify a port it wishes 
							to use for the Data Channel connection. The server 
							replies on the Control Channel with the port number 
							which the client then uses to initiate an exchange 
							on the Data Channel. The server will thus always be 
							responding to client-initiated requests on the Data 
							Channel and the firewall can correlate these. 
							 It's simple to 
							configure your client FTP program to use either
							Active or
							Passive
							FTP. For example, in 
							Cute FTP, you can set your program to use Passive 
							FTP by going to FTP--> Settings --> Options and then 
							selecting the "Firewall" tab : 
							  If you remove the 
							above options, then your workstation will be using 
							(if possible) Active FTP mode, 
							and I say "if possible" cause if your already behind 
							a firewall, there is probably no way you will be 
							using Active FTP, so 
							the program will automatically change to
							Passive FTP mode.
 So let's have a look 
							at the process of a computer establishing an
							FTP connection with a 
							server: . ........ .......... The above is assuming 
							a direct connection to the FTP server. For 
							simplicity reasons, we are looking at the way the 
							FTP connection is created and not worring if it's a 
							Passive or Active FTP connection. Since FTP is using 
							TCP as a transport, you would expect to see the
							3-way handshake. Once 
							that is completed and there is 
							data connection established, the client will 
							send its login name and then password. After the
							authentication sequence 
							is finished and the user is authenticated to the 
							Server, it's allowed access and is ready to
							leach the site dry :) 
							Finally, below are the most commonly used FTP 
							commands: ABOR: abort previous 
							FTP command LIST and NLST: list 
							file and directories DELE: delete a file RMD: remove a 
							directory MKD: create a 
							directory PWD: print current 
							working directory ( show you which dir. your at) PASS: send password PORT: request open 
							port number on specific IP address/port number QUIT: log off from 
							server RETR: retrieve file STOR: send or put 
							file SYST: identity system 
							type TYPE: specify type (A 
							for ASCII, I for binary) USER: send username And that just about 
							complete's our analysis on the FTP protocol ! |