Welcome to the Network Lab Projects repository! This is a collection of hands-on networking projects aimed at simulating and understanding key components of modern network infrastructures — from basic client-server communication to enterprise-grade security and monitoring systems.
This repo serves as a practical lab environment to:
- Explore foundational networking concepts
- Simulate real-world office and enterprise network setups
- Learn and experiment with security mechanisms (e.g., firewalls, IDS/IPS, TLS interception)
- Build an end-to-end understanding of how networks operate and how to secure them
Each project is self-contained and comes with configuration files, documentation, and usage instructions.
Below is a list of planned and ongoing projects. Each project resides in its own directory with detailed instructions.
-
Client-Server File Sharing
Simple TCP/UDP client-server applications for sending files across a network. -
Custom Firewall Implementation
Using iptables/nftables or Python-based packet filtering to create and manage custom firewall rules.
-
Office Network Layout
Simulating a small office network with routing, subnetting, and basic access control. -
User and Role-Based Access Control (RBAC)
Implementing user zones and permissions across different network segments.
-
Traffic Monitoring & Analysis
Using tools like Wireshark, tcpdump, Zeek, or ELK stack for network telemetry and deep packet inspection. -
TLS Interception with Custom CA
Set up a trusted internal Certificate Authority to inspect encrypted HTTPS traffic securely. -
Intrusion Detection/Prevention Systems (IDS/IPS)
Deploying Snort/Suricata for real-time threat detection. -
Network Zoning & VLANs
Simulating DMZ, internal, and external zones with segmentation and VLAN tagging. -
Advanced Access Controls
Integrating role-based access and ACLs for internal/external services.
These projects use a variety of tools and frameworks, including:
- Languages: Python, Bash
- Protocols: TCP, UDP, HTTP(S), TLS
- Tools: Wireshark, Snort, Suricata, OpenSSL, iptables, nftables
- Platforms: Linux (Ubuntu), VirtualBox, GNS3/EVENG, Docker (for containerized labs)