Sale!

Assignment #2 CS 3357a solved

Original price was: $30.00.Current price is: $25.00. $21.25

Category:

Description

5/5 - (4 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.