Skip to content
/ FTP-Lab Public

File Transfer Protocol Lab from Computer Networks done with a partner

Notifications You must be signed in to change notification settings

njw275/FTP-Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FTP-Nick-Peter

We have created two programs - FTPclient.c and FTPserver.c. With these files, we have simulated a basic FTP client/server model, using a TCP connection.

##Commands

USER - username with this command the client gets to identify which user is trying to login to the FTP server. This is mainly used for authentication, since there might be different access controls specified for each user.

PASS - The client needs to authenticate with the user password by issuing a PASS command followed by the user password.

PUT - this command is used to upload a file named filename from the current client directory to the current server directory.

GET - this command is used to download a file named filename from the current server directory to the current client directory.

LS - this command is used to list all the files under the current server directory

!LS - this command is used to list all the files under the current client directory

CD - this command is used to change the current server directory

!CD - this command is used to change the current client directory

PWD - this command displays the current server directory

!PWD - this command displays the current client directory

QUIT - this command quits the FTP session and closes the control TCP connection

##More Information About Our Programs

To run the FTPclient use: ./FTPclient ftp-server-ip-address ftp-server-port-number

The FTPserver uses select() to accept multiple clients and server also checks to validate the USER and PASS to run commands for each individual client.

##Issues We are still working on refining how the commands work.

Some specific issues include: how to send the port number and hostname to the server; the PUT command somehow gets blocked by the server when creating a new socket with a new port number, it only works when the port number is the same as the initial connection.

About

File Transfer Protocol Lab from Computer Networks done with a partner

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published