Hack the Stack: Using Snort and Ethereal to Master the 8 Layers of an Insecure Network

File Transfer Protocol (FTP) is one of the most commonly used protocols for transferring files between hosts on the Internet. In addition to file transfers, FTP can append, rename, and delete files and directories on a remote host. FTP is designed to work between computers with different underlying architectures, operating systems, file systems, and character sets.
The specifications for FTP date back to the early 1970s. Because security was lax at that time, FTP contains a number of inherent flaws that make it susceptible to attacks.Today, secure protocols such as Secured File Transfer Protocol (SFTP) are the preferred method for file transfers, although FTP is still widely used.
Unlike most other protocols that only use one connection per session, an FTP session between two hosts involves multiple Transmission Control Protocol (TCP) connections.The FTP client first establishes a control connection with the FTP server, which is typically listening on port 21/TCP.This control connection is used by the client to send commands to the server, and is also used by the server to send replies back to the client. Separate connections called data connections are used for the actual file transfers and for sending directory listings from the server to the client.
An FTP client communicates with a server by sending commands over the control connection. FTP commands are made up of three or four uppercase American Standard Code for Information Interchange (ASCII) characters, and some also include arguments such as file and...