Introduction
File Transfer Protocol, FTP was
first proposed on April 16, 1971 by Abhay
Bhushan for and developed for implementation on hosts at MIT and was later defined by RFC 959 published in 1985.
File Transfer Protocol (FTP) is the protocol that actually lets us transfer files, and it can accomplish this between any two machines using it. As a user, you can use FTP with a simple command line
interface (for example, from the Windows MS-DOS Prompt window) or with a
commercial program that offers a graphical user interface.. It is also
important to realize that FTP is insecure. When your username and password are sent to the server they're both
sent as plain text and could be intercepted and read.
If your server supports
SFTP or FTP with TLS encryption, we suggest one of them instead of plain FTP to
help keep your information private.
Accessing a host through FTP is only the first step, though. Users must then be subjected to an authentication login that’s probably secure.
Though what you’ll gain access to will be limited. Even when employed by users manually as a program, FTP’s functions are limited to listing and manipulating directories, typing file contents, and copying files between hosts. It can’t execute remote files as programs.
with passwords and usernames implemented by system administrators to restrict access. You can get around this somewhat by adopting the username anonymous.
How It Works
TCP
and IP are the two major protocols that keep the internet running smoothly. TCP
manages data transfer while IP directs traffic to internet addresses. FTP is an
underling of TCP and shuttles files back and forth between FTP server and FTP
client. Because FTP requires that two ports be open--the server's and the
client's--it facilitates the exchange of large files of information.
First,
you as client make a TCP control connection to the FTP server's port 21 which
will remain open during the transfer process. In response, the FTP server opens
a second connection that is the data connection from the server's port 20 to
your computer.
Using
the standard active mode of FTP, your computer communicates the port number
where it will stand by to receive information from the controller and the IP
address--internet location--from which or to which you want files to be
transferred.
If
you are using a public--or anonymous--FTP server, you will not need proprietary
sign-in information to make a file transfer, but you may be asked to enter your
email address. If you are using a private FTP server, however, you must sign in
with a user name and password to initiate the exchange of data.
Modes of File Transfer
Three modes of transferring data are available via FTP.
The system can use a stream mode, in which it transfers files as a
continuous stream from port to port with no intervention or processing of
information into different formats. For example, in a transfer of data between
two computers with identical operating systems, FTP does not need to modify the
files.
In block mode, FTP divides the data to be transferred into blocks
of information, each with a header, byte count, and data field.
In the third mode of
transfer, the compressed mode, FTP compresses the files by encoding them. Often
these modifications of data are necessary for successful transfer because the
file sender and file receiver do not have compatible data storage systems.
Passive FTP
Should your computer have firewall protection, you may have
difficulties using FTP. A firewall protects your PC by preventing internet
sites from initiating file transfers. You can circumvent your firewall's
function by using the PASV command that reverses the FTP process, allowing your
computer to initiate the transfer request.
Many corporate networks use PASV FTP as a security measure to
protect their internal network from assaults of unwanted external files. Also
called passive FTP, the process requires that any transfer of information from
the internet or other external source must be initiated by the client or
private network rather than the external source.
Passive
FTP mode is used by some newer FTP servers on the Internet to better work with
firewalls. Microsoft Internet Explorer includes a setting for
Passive FTP (sometimes called "PASV") mode. You may need to either
enable or disable this setting to allow Internet Explorer to work as an FTP
client with a given FTP server. Follow these instructions to make it happen.
Here's
How:
1.
Open Internet Explorer
from the Start Menu or command line.
2.
On the Internet Explorer
menu, click Tools to open the Tools menu.
3.
On the Tools menu, click Internet
Options... . A new Internet Options window will appear on the screen.
4.
In the Internet Options
window, click the Advancedtab.
5.
First, find the setting
called Enable folder view for FTP sites (located near the top
of the list of settings). Ensure this feature is disabled (unchecked). Passive
FTP mode in Internet Explorer will not work unless this feature is disabled.
6.
Next, find the setting
called Use Passive FTP (located approximately halfway down in
the list of settings).
7.
To enable the Passive FTP
feature, set the checkmark in the box next to the Use Passive FTP setting. To
disable the feature, clear the checkmark. Alternately set and clear the
checkmark by clicking once inside the checkbox.
8.
Click OK or Apply to save
the Passive FTP setting.
Tips:
1.
It is not necessary to
reboot your computer to enable or disable Passive FTP.
Further FTP Security
In
response to the need for a more secure transfer process for sensitive
information such as financial data, Netscape developed a Secure Sockets Layer
(SSL) protocol in 1994 that it used primarily to secure HTTP--HyperText
Transfer Protocol--transmissions from tampering and eavesdropping. The industry
subsequently applied this security protocol to FTP transfers, developing SFTP,
a file transfer protocol armored with SSL for protection from hackers.
FTP Commands
!
|
Using this
command you will have the capability of toggling back and forth between the
operating system and ftp. Once back in the operating system, typing exit will
take you back to the FTP command line.
|
?
|
Access the
Help screen.
|
append
|
Append
text to a local file.
|
ascii
|
Switch
to ASCII transfer
mode
|
bell
|
Turns bell
mode on or off.
|
binary
|
Switches
to binary transfer mode.
|
bye
|
Exits from
FTP.
|
cd
|
Changes
directory.
|
close
|
Exits from
FTP.
|
delete
|
Deletes a
file.
|
debug
|
Sets
debugging on or off.
|
dir
|
Lists
files if connected.
dir -C = Will list the files in wide format.
dir -1 = Lists the files in bare format in alphabetic order
dir -r = Lists directory in reverse alphabetic order.
dir -R = Lists all files in current directory and sub directories.
dir -S = Lists files in bare format in alphabetic order.
|
disconnect
|
Exits from
FTP.
|
get
|
Get file
from the computer connected to.
|
glob
|
Sets
globbing on or off. When turned off the file name in the put and get commands
is taken literally and wildcards will not be looked at.
|
hash
|
Sets hash
mark printing on or off. When turned on for each 1024 bytes of data received
a hash-mark (#) is displayed.
|
help
|
Access the
Help screen and displays information about command if command typed after
help.
|
lcd
|
Displays
local directory if typed alone or if path typed after lcd will change local
directory.
|
literal
|
Sends a
literal command to the connected computer with an expected one line response.
|
ls
|
Lists
files of the remotely connected computer.
|
mdelete
|
Multiple
delete.
|
mdir
|
Lists
contents of multiple remote directories.
|
mget
|
Get
multiple files.
|
mkdir
|
Make
directory.
|
mls
|
Lists
contents of multiple remote directories.
|
mput
|
Sent
multiple files
|
open
|
Opens
address.
|
prompt
|
Enables or
disables the prompt.
|
put
|
Send one
file
|
pwd
|
Print
working directory
|
quit
|
Exits from
FTP.
|
quote
|
Same as
the literal command.
|
recv
|
Receive
file.
|
remotehelp
|
Get help
from remote server.
|
rename
|
Renames a
file.
|
rmdir
|
Removes a
directory on the remote computer.
|
send
|
Send
single file.
|
status
|
Shows
status of currently enabled and disabled options
|
trace
|
Toggles
packet tracing.
|
Type
|
Set file
transfer type.
|
user
|
Send new
user information.
|
verbose
|
Sets
verbose on or off.
|