Objectives: With this project students should develop protocol simulator application for HTTP and FTP protocols. Recommendations & Rules : · The application must be written in C/C++ . Project Details: 1) Application should bind (listen) above ports of well known port numbers ( 1024 < ). And must use TCP/IP. 2) Application must operate in server mode (Client/Server). No need to develop client side application. I use putty (raw mode) when testing the application. 3) Application have config file (text file). This file include config parameter of server working root and also ftp user name and password. 4) Application operating behavior different than other Application layer servers. This behavior explains below: · After client connection server send welcome message to client side. This typical message should looks like: “* OK Multiprotocol Application server ready to request. Please type HTTP/FTP to go ahead. ?? 5) After setting operating mode, Application simulate defined protocol. For HTTP Protocol; Only GET and HEAD request should simulated. (RFC 2616 have enough information) Working directory of server define in config file. If request URL have only /, application send replay message and also message body include working directory listing. If URL have another file that located in working directory message body should have this file contents in html format. In response message implementation only use Codes 200,400,404. For FTP Protocol; User name and password should be defined in config file. Use RFC 959. Only implement following access control commands; USER NAME (USER) PASSWORD (PASS) LIST (LIST) RETRIEVE (RETR) SYSTEM (SYST) HELP (HELP) NOOP (NOOP) LOGOUT (QUIT) You should use ftp reply codes after each command as defined in RFC 959. For more information please debug real ftp connection.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Comments.