1 Content


1.1 Schedule and due dates

1.2 Review

Python review, for those who want it:
../ComputationalThinking/Content.html

1.3 Topical outline

1.3.1 First day and introduction

  1. Inspiration, introduction
    Content/00-Inspiration.html

  2. What is the internet?
    Content/01-Overview.html

Content/Chapter_1.pdf
(old slides, above page is more current)

Chapter 1 (Kurose book)

1.3.1.1 Introduction Assignments

ra00: VM and SSH server
Set up two virtual machines, one with an SSH server, SSH from one to the other
ra00-localhost

1.3.2 Application layer

Content/02-Application.html
(and its referenced readings.html)

Content/Chapter_2.pdf
(old slides, above page is more current)

Chapter 2 (Kurose book)

pa01_http: Python simple HTTP Web server (SP22)
Toy code socket programming in python.

ra01_apache: Real Web server with CGI (and HTTP, TCP Wireshark) (SP22)
Install and configure a real web server (Apache), and watch it with Wireshark.

pa02_smtp: Python SMTP client (SP19)
Toy code socket programming in python

ra02_name-server: Real DNS server (and DNS, UDP Wireshark) (SP19)
Install and configure a real DNS server (bind) to resolve your Web server’s IP, and watch it with Wireshark

ra03_email: Real Email server (and SMTP, TCP Wireshark) (SP19)
Install and configure a real email server of your choosing, and watch it with Wireshark.

1.3.3 Transport layer

  1. Transport layer
    Content/03-Transport.html
    (and its referenced readings.html)

Content/Chapter_3.pdf
(old slides, above page is more current)

Chapter 3 (Kurose book)

1.3.3.1 Transport assignments

pa03_udp-echo: Python UDP echo (SP22)

1.3.4 Network layer

1.3.4.1 Network Data plane

  1. Network layer - Data plane
    Content/04-NetworkData.html

Content/Chapter_4.pdf
(old slides, above page is more current)

Chapter 4 (Kurose book)

Content/ip_command_cheatsheet.pdf

1.3.4.2 Network security (more than just network layer)

  1. Security
    Content/05-Security.html

Chapter 8 (Kurose book)

1.3.4.3 Network Control plane

  1. Network layer - Control plane
    Content/06-NetworkControl.html

Content/Chapter_5.pdf
(Old lecture has some more detail than in above page.)

Chapter 5 (Kurose book)

1.3.4.4 Network assignments

pa04_icmp: ICMP ping and traceroute (SP22)
ICMP ping and ICMP traceroute socket programming in python.

ra04_network-subversion: Network obfuscation and tunneling (SP19)
Learn how to circumvent both protocol and IP based censorship, host a service anonymously.

pa05_iptables: IPTables firewall? (SP22)
Firewall for single-user machine, NAT, and DHCP Wireshark.

ra05_ips: Dedicated real firewall configuration (SP19)
Install and configure a pfSense/opnsense default gateway for your corporate network.

  1. Link layer and LAN
    Content/07-DataLink.html

Content/Chapter_6.pdf

Chapter 6 (Kurose book)

Content/ip_command_cheatsheet.pdf

pa05_mitm-spoof: ARP spoofing (SP19)
ARP spoofing (link/network layer) with DNS MitM raw socket programming in python.

1.3.6 Wireless and mobile

  1. Wireless and mobile
    Content/08-Wireless.html

Content/Chapter_7.pdf

Chapter 7 (Kurose book)

1.3.7 Packet crafting

Content/09-PacketCrafting.html

1.3.8 Summary

A day in the life of a packet
Content/10-DayInLifeOfPacket.html

Old version:
Content/Chapter_6.pdf

Another example:
https://www.homenethowto.com/advanced-topics/traffic-example-the-full-picture/

1.4 LAN and WiFi security

Content/12-LanHacking.html

1.5 Proxies, VPNs, Anonymizing networks, Privacy

Content/11-ProxyAnonVPN.html

1.6 API driven network programming, REST and RESTful programming

Content/13-API.html

1.7 Hardware infrastructure mesh-nets

1.8 Potential future assignments: