Assignments
Assignments
HW 1 (due 10/03):
Wireshark Lab 01: A packet sniffer is the primary tool used to observe the messages exchanged between running protocol entities. As its name suggests, a packet sniffer captures (“sniffs”) the messages sent to and from your computer, and can typically store or display the contents of the various protocol fields within these captured packets. In this lab, you will begin working with Wireshark, a widely used packet sniffer that allows us to capture and inspect packet-level data. We will use Wireshark to explore several aspects of the HTTP protocol: the basic GET/response interaction, the structure of HTTP messages, retrieving HTML files with embedded objects, and HTTP authentication and security. There are four problems (Q1–Q4) you need to complete for this homework. Note that Q0 is only a practice exercise designed to help you get familiar with running Wireshark and does not need to be submitted.
Programming Assignment 01: The goal of this project is to give you some hands-on practice with both Python and the basics of how two programs can talk to each other over a network using Socket Programming. Don’t worry if this is your first time writing socket code, we’ll build things up step by step. You’ll be working with starter files that guide you through each task, and by the end you’ll have two separate programs: a server and a client. These two will be able to connect, send messages back and forth, and process text in simple but interesting ways. We’ll begin with a simple first step: when a client connects to the server, the server will send a short greeting message to confirm the connection. From there, you’ll expand the programs into an echo service, then add a transformation that flips strings around, and finally, you’ll hook everything up to files so you can send and save multiple messages automatically. Along the way, you’ll pick up important networking concepts like ports, connections, message framing, and how to handle input/output with Python.
HW 2: TBA