Resources
Virtual Machines
- Virtual Machine Configuration (VMware and Ubuntu Linux)
Labs
Lecture Slides
| # | Topic |
|---|---|
| 1 | Welcome & Introduction |
| 2 | Overview of Computer Networking |
| 3 | Wireshark |
| 4 | Ethernet |
| 5 | WiFi |
| 6 | IPv4, Part 1 |
| 7 | IPv4, Part 2 |
| 8 | Scapy |
| 9 | ARP |
| 10 | VLAN |
| 11 | ICMP |
| 12 | IPv6 |
| 13 | DHCP |
| 14 | UDP |
| 15 | Sockets |
| 16 | HTTP |
| 17 | NAT |
| 18 | Parallel Network Programming |
| 19 | TCP, Part 1 |
| 20 | TCP, Part 2 |
| 21 | TCP, Part 3 |
| 22 | TCP, Part 4 |
| 23 | Nmap |
| 24 | DNS, DNSSEC, DNS over TLS, DNS over HTTPS |
| 25 | HTTP/2, HTTP/3 (and SPDY and QUIC) |
HTTP References
- List of HTTP Header Fields
- Reliply.org: View real HTTP request sent by your browser to their server
- Google Chrome Developer Tools (built-in to web browser) can show HTTP requests and HTTP responses for all objects on a web page
- Enter the developer tools mode, select the Network panel, and then the Header sub-panel
- Fiddler: Web debugging proxy
- Concurrent Programming for Scalable Web Architectures: Good background reading
Python Demo Code
Python Programming References
- Python documentation - Official
- Python Language Reference - Official
- Python Standard Library - Official
- Argparse: http://docs.python.org/3/library/argparse.html
- Queue (thread-safe): http://docs.python.org/3/library/queue.html
- String functions: http://docs.python.org/3/library/stdtypes.html
- Sockets: http://docs.python.org/3/library/socket.html and http://docs.python.org/3/howto/sockets.html
- Struct: http://docs.python.org/3/library/struct.html
- Threading: http://docs.python.org/3/library/threading.html
- Multiprocessing: http://docs.python.org/3/library/multiprocessing.html
- Python Module of the Day:
- Argparse: https://pymotw.com/3/argparse/