xref: /curl/docs/cmdline-opts/ftp-port.md (revision fe9f68fa)
1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Long: ftp-port
5Arg: <address>
6Help: Send PORT instead of PASV
7Short: P
8Protocols: FTP
9Category: ftp
10Added: 4.0
11Multi: single
12See-also:
13  - ftp-pasv
14  - disable-eprt
15Example:
16  - -P - ftp:/example.com
17  - -P eth0 ftp:/example.com
18  - -P 192.168.0.2 ftp:/example.com
19---
20
21# `--ftp-port`
22
23Reverses the default initiator/listener roles when connecting with FTP. This
24option makes curl use active mode. curl then commands the server to connect
25back to the client's specified address and port, while passive mode asks the
26server to setup an IP address and port for it to connect to. \<address\>
27should be one of:
28
29## interface
30e.g. **eth0** to specify which interface's IP address you want to use (Unix only)
31
32## IP address
33e.g. **192.168.10.1** to specify the exact IP address
34
35## hostname
36e.g. **my.host.domain** to specify the machine
37
38## -
39make curl pick the same IP address that is already used for the control
40connection. This is the recommended choice.
41
42##
43
44Disable the use of PORT with --ftp-pasv. Disable the attempt to use the EPRT
45command instead of PORT by using --disable-eprt. EPRT is really PORT++.
46
47You can also append ":[start]-[end]" to the right of the address, to tell
48curl what TCP port range to use. That means you specify a port range, from a
49lower to a higher number. A single number works as well, but do note that it
50increases the risk of failure since the port may not be available.
51(Added in 7.19.5)
52