26
File Transfer Protocol By: Om Prakash 1

File Transfer Protocol

Embed Size (px)

Citation preview

Page 1: File Transfer Protocol

File Transfer Protocol

By: Om Prakash1

Page 2: File Transfer Protocol

2

FTPThis stands for File Transfer Protocol. This is the simplest and most popular way to exchange files over the Internet or intranet.

Page 3: File Transfer Protocol

3

Transferring files from a client computer to a server computer is called "uploading" and transferring from a server to a client is "downloading".

To access an FTP server, users must be able to connect to the Internet or an intranet (via a modem or local area network) with an FTP client program.

FTP uses the services of TCP. It needs two TCP connections. The well-known port 21 is used for the control connection and the well-known port 20 for the data connection

Page 4: File Transfer Protocol

4

Communication Structure of FTP

Page 5: File Transfer Protocol

CONTROL CONNECTION:

The communication path between the USER-PI (Process Interpreter) and SERVER-PI for the exchange of commands and replies. This connection follows the Telnet Protocol.

DATA CONNECTION:

A full duplex connection over which data is transferred, in a specified mode and type. The data transferred may be a part of a file, an entire file or a number of files. The path may be between a server-DTP (Data Transfer Process) and a user-DTP, or between two server-DTPs.

5

Page 6: File Transfer Protocol

6

Active Mode FTP

Client connect from a random unprivileged port (n > 1023) to the servers command port (21) and sends port command to tell server to connect to n+1 then listens on the next higher unprivileged port (n+1) for server responses. The server connects from it’s data port (20) to the client data port (n+1)

ClientServer

20 21 1026 1027

1

2

3

4

Types of connections

Page 7: File Transfer Protocol

7

Passive Mode FTP

Client opens two random unprivileged ports ( n > 1023 and n+1; ex 1026 and 1027) and connects the first port (n) to server command port 21 and issues a PASV command (server sends port to use for data); client connects to servers specified data port, server completes connection.

ClientServer

20 21 1026 1027

1

2

2024

3

4

Page 8: File Transfer Protocol

Internal client

Private FTP server

INTERNET

External client

Ways to connect to an FTP server

8

Page 9: File Transfer Protocol

Private user-only site Allows only system users (or users with FTP profile) to connect via FTP and access their files.

Anonymous Allows anyone on the network to connect to it and transfer files without having an account.

We can configure FTP servers one of two ways.

9

Page 10: File Transfer Protocol

FTP commandsftp [host]- open an ftp session with the specified Host machine.

open [host]- Establish a connection to the specified host when you're already at an ftp prompt.

user [username]- Log into an ftp server when you're already connected in an ftp

session.

ls [remote-directory]- Print a listing of the contents of remote-directory on the remote machine. The listing includes any system-dependent information that the server chooses to include.

10

Page 11: File Transfer Protocol

help [command]- Print an informative message about the meaning of command. If no argument is given, ftp prints a list of the known commands.

ascii- Set the file transfer type to ASCII . Only use this transfer method for text-files.

binary- Set the file transfer type to support binary file transfer. Use this transfer method for anything other than a textfile.

More ftp commands

11

Page 12: File Transfer Protocol

cd [remote-directory]- Change the working directory on the remote machine to remote-directory.

lcd [directory]- Change the working directory to directory on the local machine. If no directory is specified, the user's home directory is used.

pwd- Print the name of the current working directory on the remote machine. Often times this includes printing the full path.

More ftp commands

12

Page 13: File Transfer Protocol

put [local-file]- Put (upload) local-file to the remote machine. No wildcards!

get [remote-file]- Retrieve (download) remote-file and store it on the local machine. No wildcards! Can only get one file at a time.

mput [local-files]- Expand wild cards in the list of local-files given as arguments and do a put for each file in the resulting list. The list of files should be separated by spaces.

More ftp commands

13

Page 14: File Transfer Protocol

mkdir [new-directory-name]- create a directory new-directory-name on the remote machine.

rmdir [directory-name]- Delete the directory entitled directory-name on the remote machine.

rename [old-file-name] [new-file-name]- Rename the file old-file-name on the remote machine, to the file new-file-name.

More ftp commands

14

Page 15: File Transfer Protocol

quote site chmod xxx [file name]- Change the permission modes of the file file-nameon the remote system to xxx mode. Note that the chmod command is not always implemented.

get [file-name] "|more"- Instead of downloading and saving the file file-nameon the local machine, you view its contents. Only recommended to use with text files.

bye- Terminate the FTP session with the remote server and exit ftp. On Unix, an end of file should also terminate the session and exit.

More ftp commands

15

Page 16: File Transfer Protocol

16

Example…

Assume you are required to download the file

lan.txt

from

papa.cdrom.com/pub/games/

Page 17: File Transfer Protocol

1. At the command prompt type :

ftp papa.cdrom.com (this will start the ftp and connection to the site)The system will respond with the message

>connected to sunsite.cnlab-switch.ch.>220 warchive.cdrom.com.FTP server (Version wu-2.4.2(18) >Thu nov 26 09:30:12 MET 2001) ready.>Name (carchive.cdrom.com:usr):

STEPS TO FOLLOW

17

Page 18: File Transfer Protocol

2. Type ftp

The system will respond with something similar to.

>331 Guest login ok, send your complete e-mail address as password>Password: (type your email)

18

Page 19: File Transfer Protocol

3. After the welcome message that may look something like this.

230 guest login ok, access restrictions apply.Remote system type is UNIX.

We must now change to the directory “/pub/games” Type in cd pub (this will change to the directory

pub), in this directory we will find downloadable material.

19

Page 20: File Transfer Protocol

Lets type dir to see the list of files in there we should see the directory games in the list.

drwxr-xr-x 6 731 730 512 Nov 4 05:11 games

The d in front of the listing tells me it is a directory.

If dir does not work we can use the command: ls-al

20

Page 21: File Transfer Protocol

4. Use ‘cd’ to change into the remaining directories:

Type:

cd games

21

Page 22: File Transfer Protocol

5. Use ‘dir’ to find the file:

Type:

dir l*

to get a listing of all files which start with ‘l’. You should see:

-rw-rw-r– 1 2066 ftp-game 134868 Jun 30 2001 lan.txt

• Because there is no ‘d’ at the far left, you know that it is a file, not a directory.

• The 134868 is the file size, it is 134,868 bytes (approx. 134 Kb). It was last modified on the 30th of June 2001.

22

Page 23: File Transfer Protocol

6. To download, type:

bin

• This will make your download in ‘binary’ form

• This mode will always work for all files, whereas the default mode ‘ascii’ will only work for text files.

• Therefore always make sure you type ‘bin’ before you download or you may get garbage!

23

Page 24: File Transfer Protocol

Type:

get lan.txt

And type ‘y’ when asked to confirm.

• ‘lan’ will now download, and will soon be on the computer you ran ‘ftp’ from.

• Alternately, if you want to download multiple files, you could type: ‘mget *’, this would download *all* files in the directory; ‘mget l*’ would download all files beginning with ‘l’.

• If you do not wish to confirm each download one by one, type ‘prompt’ to turn that off. If you wish to have a download indicator, type ‘hash’.

24

Page 25: File Transfer Protocol

6b. To upload:

• To upload a file you must be in a directory you are allowed to upload into.

• You would type ‘put lan.txt’ if you wished to upload ‘lan.txt’ or ‘mput l*’ to upload all files beginning with ‘l’ for example.

• Make sure that you type ‘bin’ again before you upload anything.

25

Page 26: File Transfer Protocol

7. Logging off.

Type:

bye

to close the connection and quit FTP.

• If you have any questions type either ‘man ftp’

26