0% found this document useful (0 votes)
51 views1 page

FTP Server Ports and Connections

FTP uses TCP/IP protocols to transfer files between computers. The FTP server listens on port 21 by default for control connections from clients. For data transfers, the server or client opens a data connection on port 20. There are two modes for data connections - active mode where the client opens the data port, and passive mode where the server opens a random high port for the connection.

Uploaded by

agssuga
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views1 page

FTP Server Ports and Connections

FTP uses TCP/IP protocols to transfer files between computers. The FTP server listens on port 21 by default for control connections from clients. For data transfers, the server or client opens a data connection on port 20. There are two modes for data connections - active mode where the client opens the data port, and passive mode where the server opens a random high port for the connection.

Uploaded by

agssuga
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

FTP - FTP Server Connections Reference

1. Protocol in General
All communication between computers TCP/IP bases on the protocols, which are just something that people has agreed
to use for transferring data over to another. Being just another agreement in the world of chaos, this has been working
really nice, becoming standard, what ever that means, everything can be found in nice order on
http://www.networksorcery.com/enp/default0403.htm RFC documented.
What's important on above is that, even everything is documented, clients and servers does have extensions that does
not follow the documentation nor even sometimes the basic functions (example FireFox as an FTP client, but luckily we
have http://fireftp.mozdev.org/ extension on that). Home Series of products however follow these strictly (as the
http://www.indyproject.org really strictly follows the RFCs).

2. Server Control Port (21)


Server will start listening connections to control port, which is 21 by default. Good example of this being default is that
when you put your browser location to ftp://someaddress it automatically tries to connect to the server port 21. Port can
be however altered by adding the port number behind the location as ftp://someaddress:22. All clients will communicate
with the server using this same port for the basic communication (listed commands in the protocol).
To allow client to connect to server, client must have access directly to the server control port trough the firewall and
router. Router must forward connections to this port directly to the PC running Home Ftp Server.

3. Data Connection (20)


Server or the client needs to open data connection to transfer files or the directory listings. Data port on the server is
normally set to port 20. Which one will open the connection, depends on the type of connection, which may be either
active or passive. That is something that client deciced on starting the transfer (client will send request for passive mode
connection).

4. Active vs. Passive Connection


Active Mode:
In active mode, the client connects from port >1023 to the servers command port, which defaults to 21. When data
connection is opened on active mode after this, it's done by the client. Client will send the port number to the server.
Server will connect to data port opened by the client using server's defined data port, which defaults to 20.
On server side, control port and data port (21 and 20) must be opened on the client ports above 1023. These must
be forwarded to the server PC directly.

Passive Mode:
In passive mode, the client connects to the server control port (21 by default) as in active mode, but then instead of
opening port, the client sends out PASV command to request server to open port for the client. Server opens random
port >1023 and sends the port number to connect to the client. Client then connects using port >1023 to servers port
that was just opened for the connection (>1023) for data transfer.
To have server working with the passive connections, control port (21) and ports above 1023 must be opened on
the firewall. All ports are opened by the server in passive mode. On router, passive might cause some trouble, because
ports above 1023 must be forwarded directly to the server PC as the control port is.

You might also like