FTP

From bildr

Jump to: navigation, search

FTP (File Transfer Protocol) is a client-server-based network protocol used to copy files over a TCP/IP-based network. Due to it's two-port nature, FTP is considered an out-of-band protocol instead of an in-band protocol such as HTTP. FTP has supported IPv6 since 1998. Like many pre-SSL transfer protocols, FTP has no encryption. Transfers are sent as plain text and can be easily intercepted.

Technical Information

FTP is specified via RFC 959

A client makes a TCP connection on default port 21, called the control connection. A data connection is then opened at default port 20. The control connection is used for session administration (commands, identification, passwords, authentication, etc.) using a string-based protocol. For instance, client:> RETR "file.txt" will transfer "file.txt" from the server to client. The server will respond with three digit status codes (ex: 200 = "OK").

FTP can be run in active or passive mode. Active mode sends the server the client IP and port number, then the server initiates the TCP connection. In passive mode, the client sends a PASV request to the server, which then returns the server IP and port number which the client uses to open a connection.

  • ACSII mode - text using the ASCII character set
  • Image mode - bytestream of data
  • EBCDIC mode - text using the EBCDIC character set
  • Local Mode - allows for transfer in a propriatary format
  • Stream mode - Data sent as a continous stream, handled by TCP
  • Block mode - data is broken into blocks with a header, byte count, and data, then sent via TCP
  • Compressed mode - Data is compressed

External Links

RCF 959 - FTP Specification

This page is an Article on bildr. Articles are pages that define or explain a concept, method, or generic item.

NOTE: All information contained within this article is pure opinion. Although this article is intended to help people, it may contain faulty or misleading information. This article is not to be considered professional opinion or advice, and is in no way a replacement for reading all safety/instructional documentation. Always remember to protect yourself when handling/using hazardous materials, as well as test new techniques before using them on projects/work intended to be handed in or used.

bildr and its contributers take NO responsibility for the information contained within.