|FTP Protocol Overview|
FTP (File Transfer Protocol) is a well established Internet protocol designed to transfer files
(and information about files) across networks using TCP (Transmission Control Protocol).
FTP is defined in the Request For Comments 959 document (RFC 959), which can be
obtained from the Internet Engineering Task Force.
FTP requires a client program (FTP client) and a server program (FTP server). The client can
fetch files and file details from the server, and also upload files to the server. The server is
generally password protected.
FTP commands are initiated by the client, which opens a TCP connection called the control
connection to the server. This control connection is used for the entire duration of a session
between the client and server. A session typically begins when the client logs in, and ends
when the quit command is sent to the server. The control connection is used exclusively for
sending FTP commands and reading server replies - it is never used to transfer files.
Transient TCP connections called data connections are set up whenever data (normally a
file's contents) is to be transferred. For example, the client issues a command to retrieve a file
from the server via the control channel. A data connection is then established, and the file's
contents transferred to the client across it. Once the transfer is complete, the data connection
is closed. Meanwhile, the control connection is maintained.
· Active and Passive Modes
· FTP Commands
· Sample Scenarios
· Data Types
· Session Commands
· File Commands
· Directory Commands
· SOCKS Proxies