File Transfer Protocol


Published on

Published in: Education, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • TFTP uses the services of UDP on the well-known port 69 TP uses the services of UDP on the well-known port 69
  • Tftp is ftp like service available through UDP on well known port 69.
  • Tftp is ftp like service available through UDP on well known port 69.
  • File Transfer Protocol

    1. 1. By: Om Prakash 1
    2. 2. 2 This stands for File Transfer Protocol. This is the simplest and most popular way to exchange files over the Internet or intranet.
    3. 3. 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
    4. 4. 4
    5. 5. 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
    6. 6. 6 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
    7. 7. 7 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
    8. 8. Internal client Private FTP server INTERNET External client Ways to connect to an FTP server 8
    9. 9. 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. 9
    10. 10. FTP commands ftp [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
    11. 11. 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. 11
    12. 12. 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. 12
    13. 13. 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. 13
    14. 14. 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. 14
    15. 15. quote site chmod xxx [file name] - Change the permission modes of the file file-name on 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-name on 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. 15
    16. 16. 16 Example… Assume you are required to download the file lan.txt from
    17. 17. 1. At the command prompt type : ftp (this will start the ftp and connection to the site) The system will respond with the message >connected to >220 server (Version wu- 2.4.2(18) >Thu nov 26 09:30:12 MET 2001) ready. >Name ( 17
    18. 18. 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
    19. 19. 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
    20. 20. 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
    21. 21. 4. Use „cd‟ to change into the remaining directories: Type: cd games 21
    22. 22. 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
    23. 23. 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
    24. 24. 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
    25. 25. 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
    26. 26. 7. Logging off. Type: bye to close the connection and quit FTP. • If you have any questions type either „man ftp‟ 26