Skip to content

Repository files navigation

This project has been created as part of the 42 curriculum by khhihi.

NetPractice

Description

NetPractice is a practical networking exercise designed to help understand and configure small-scale networks. The project focuses on teaching fundamental networking concepts through hands-on practice with TCP/IP addressing.

The goal is to solve 10 networking problems of increasing difficulty by correctly configuring network interfaces, routing tables, and IP addresses to ensure proper communication between devices. Each level presents a different network topology that must be configured to allow all devices to communicate correctly.

This project provides essential knowledge about how networks function at a fundamental level, preparing students for more advanced system administration and networking challenges.

Key objectives include:

  • Understanding IPv4 addressing
  • Subnetting and CIDR notation
  • Default gateways and routing logic
  • Network device roles (routers vs switches)
  • Logical network connectivity validation

Instructions

Running the Training Interface

  1. Download or clone this repository
  2. Open the index.html file in a web browser (Chrome, Firefox, Safari, etc.)
  3. The training interface will load with 10 levels

How to Use

  1. Select a level from the interface (Level 1 through Level 10)
  2. Analyze the network topology presented
  3. Fill in the missing IP addresses, subnet masks, and routing information
  4. Click "Check" to verify your configuration
  5. Once successful, click "Get my config" to export the configuration file
  6. Save the exported JSON file with the format: level#. json (where # is the level number)

Export Requirements

For each completed level:

  • Click the "Get my config" button
  • Save the downloaded JSON file
  • Name it according to the level number: level1.json, level2.json, etc.

Submission

Submit your project with:

  • This README.md file
  • 10 exported configuration files (level1.json through level10.json) placed at the repository root
  • All files must be at the root of your repository

Resources

🔗 Documentation & Tutorials

Networking Concepts Studied

This project explicitly covers and reinforces the following networking concepts:

  • TCP/IP addressing
  • IPv4 structure
  • Subnet masks and CIDR notation
  • Network address vs broadcast address
  • Default gateway
  • Routers and switches
  • Routing between networks
  • OSI Model layers
  • Private vs public IP ranges
  • Point-to-point links
  • Switches

References

  • Cisco Networking Basics Documentation
  • Cloudflare Learning Center – Networking Fundamentals
  • 42 NetPractice Subject PDF

Use of Artificial Intelligence

AI tools (such as ChatGPT) were used only for learning and clarification purposes, including:

  • Explaining subnetting logic
  • Clarifying routing behavior
  • Verifying conceptual understanding of networking rules

Project Structure

netpractice/
├── README.md
├── index.html
├── level1.json
├── level2.json
├── level3.json
├── level4.json
├── level5.json
├── level6.json
├── level7.json
├── level8.json
├── level9.json
└── level10.json

Notes

  • This project is purely educational and does not require real network hardware.
  • All configurations are logical simulations inside the NetPractice interface.

Author

  • khhihi — 42 Student

About

NetPractice is a practical networking exercise designed to help understand and configure small-scale networks. The project focuses on teaching fundamental networking concepts through hands-on practice with TCP/IP addressing.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors