TanayK07 / networking-from-scratch
PublicBuild the network stack from raw bytes. 289 hands-on lessons in C and Python — from Ethernet frames to TLS 1.3
Networking from Scratch is a free, open-source educational curriculum that teaches networking from the physical layer up through advanced topics like TLS, kernel modules, and container networking. It guides learners through 289 hands-on lessons where they build every component themselves in C and Python — CRC checksums, signal encoding, Ethernet frames, TCP/IP stacks, and more. The project is well-structured with clear prerequisites, a curated roadmap, and a contributing guide. No malicious functionality was found.
How It Works
You stumble across a website called 'Networking from Scratch' that promises to teach you how the internet really works — by building everything yourself from raw bytes.
The curriculum shows 15 phases: from how electricity carries bits, up through Ethernet frames, IP addressing, TCP connections, encryption, and even how robots talk to each other. 289 lessons planned.
You download the project and run a simple setup script. Now you have a C compiler and Python ready on your machine, just like a real network engineer.
You write code that turns numbers into network packets. You create your own CRC error-detection codes, encode signals like old ethernet did, and build Hamming codes that fix single-bit errors automatically.
You capture real Ethernet frames off your network card, inspecting every MAC address and EtherType — no shortcuts, just raw bytes.
You create virtual network devices on your computer that let you build and test a full TCP/IP stack entirely in software.
Every lesson comes with tests you can run with a single command. You verify that your CRC implementation matches the standard, your packet parser handles every edge case correctly.
By the end, you can look at a hex dump of a real network packet and understand every single byte — why it's there, what it means, and how it got there. You built it yourself from scratch.
Star Growth
Repurpose is a Pro feature
Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.
Unlock RepurposeSimilar repos coming soon.