One week you’re coding a reliable data transfer protocol over UDP (think: TCP from scratch, but sadder). The next week, your lab partner is tasked with launching a selective ACK dropping attack against your implementation using Scapy.
CSC5113C does something crueler—and far more educational. It forces you to implement the protocols, then immediately break them.
Since course codes vary (e.g., University of Oklahoma’s CS/IT sequences), I have framed this around the spirit of an advanced, project-heavy networking/security course. By a Survivor of CSC5113C csc5113c
In CSC5113C, the network isn't a series of tubes. It's a gladiator arena. Most networking courses teach you the OSI model, TCP state diagrams, and BGP routing. You memorize port numbers. You calculate checksums. You yawn.
I was debugging a "simple" TCP congestion control algorithm for my CSC5113C project. The assignment was straightforward: modify the Linux kernel’s TCP stack to improve throughput over high-latency links. Straightforward, until it wasn't. One week you’re coding a reliable data transfer
My server was talking to the client. But so was something else .
There, nestled between legitimate ACK packets, was a series of RST (reset) packets with a TTL that didn’t match the rest of the stream. Someone—another student in the class, probably working on the offensive security track—had quietly ARP-poisoned my subnet. They weren't stealing data. They were just injecting resets to watch my retransmission timer explode. It forces you to implement the protocols, then
Lab 4 is the turning point. You’re given a PCAP file—a recording of a real (anonymized) corporate network breach. Your job: reconstruct the attacker’s steps using only packet analysis. No logs. No alerts. Just 30,000 packets and your sanity.