Certain commands (for example RETR, STOR or LIST) also have a data attachment which is transferred to the peer. Data attachments are transferred in a separate TCP connection. This connection is established on-demand on a random, unprivileged port when a data transfer command is issued.
Endpoint information of this data channel is exchanged via the PASV and PORT commands, or their newer equivalents (EPSV and EPRT).
The data connection can either be initiated by the client (passive mode) or the server (active mode). In passive mode (PASV or EPSV command) the server opens a listening socket and sends back the endpoint information in the PASV response. In active mode (PORT or EPRT command) the client opens a listening socket and sends its endpoint information as the argument of the PORT command. The source port of the server is usually either 20, or the port number of the Command Channel minus one.
Example 4.2. FTP protocol sample |
---|
220 FTP server ready USER account 331 Password required. PASS password 230 User logged in. SYST 215 UNIX Type: L8 PASV 227 Entering passive mode (192,168,1,1,4,0) LIST 150 Opening ASCII mode data connection for file list 226-Transferring data in separate connection complete. 226 Quotas off QUIT 221 Goodbye |
Published on May 30, 2024
© BalaSys IT Ltd.
Send your comments to support@balasys.hu