Assignment #2 CS 3357a

$30.00

Category: You will Instantly receive a download link for .zip solution file upon Payment

Description

5/5 - (3 votes)

Overview
In this assignment you will create a networked date/time server and a client to access the server.
The basic interaction between the client and server should be as follows:
Server establishes connection and listens for incoming client requests.
Client connects to server and sends ASCII request “What is the current date and time?”
Server responds with “Current Date and Time – 09/29/2016 09:00:01”
Client closes connection, server stays running listening for next connection
Detailed Requirements
Server
Only required to handle one client interaction at a time
Can listen on any IP & port you choose
Must respond to invalid requests with an error message
Valid request is “What is the current date and time?”
Response to valid request must be in the format:
“Current Date and Time – MM/DD/YYYY hh:mm:ss”
Client
Allows user to enter text commands to be sent to the server
Displays response back from server
Note ­ You can use the Python_Server.py and Python_Client_py files from Assignment #1 as your starting point or you can start from scratch if you prefer.
Procedure
Part A – Develop your Applications
Using the information above, design and implement your applications using Python. (As discussed in class you can use Python 3 or 2.7 but please make sure to indicate the version
when you submit the assignment!)
You will be graded on the following:
Design and function of your applications
Documentation within your applications (Yes, it is important. No one wants to work on undocumented apps)
Part B – “Sniff” Request/Response between Server and Client apps
Using Wireshark (running on the machine hosting the Server app), capture the traffic between your client and server applications and take a screen shot of the TCP packet showing the
response back from the server. The response will contain the Date/Time data, below is an example:
9/30/2016 Assignments
https://owl.uwo.ca/portal/site/3f006fc5­3031­4684­bdb0­b1b7e3595ffc/page/b08f1b88­1024­4c80­9603­17cc87782b2c 2/3
Source
Styles Normal Font Size
Important ­ As we did in assignment #1 you will need to run your Server and Client apps on two different machines/VMs. Wireshark cannot easily monitor traffic on the ‘loopback’ adapter
so we need to have it on different machines in order to capture the traffic.
What to Submit
You will be submitting the following via OWL :
Files Server.py and Client.py with documentation for any command line arguments/variables to be set, and Python Version. (We need to know how to run your app!)
Two screen captures for Part A showing
1. A valid request/response
2. An invalid request/response.
One screen capture of the Wireshark output from Part B showing a valid response from the server.
Grading
100 points Total
80 points Function and design of your client and server apps
20 points Successful use of Wireshark to capture server response information
Submission
Assignment Text
This assignment allows submissions using both the text box below and attached documents. Type your submission in the box below and/or use the Browse button or the “select files”
button to include other documents. Save frequently while working.