Discover the basics of networking.
This project has been created as part of the 42 curriculum by sede-san.
The goal of this project is to learn the basics of computer networking by configuring small-scale networks. To do so, it is necessary to understand how IP addresses work.
NetPractice is a general practical exercise that introduces the fundamentals of computer networking. It consists of 10 levels, each presenting a broken network diagram that must be repaired by configuring the correct IP addresses, subnet masks, and routing rules. The goal is to develop a solid understanding of how devices communicate across networks, including the roles of routers, switches, and gateways, by solving real-world-style networking problems in a simulated environment.
For detailed info, refer to this project subject.
- Download the project archive from the project page and extract it into a folder of your choice.
- Inside that folder, run the launch script:
This starts a local web server and opens the NetPractice interface in your browser automatically.
bash run.sh
Warning
If run.sh does not work, start the server manually and navigate to it:
python3 -m http.server 49242
# then open http://localhost:49242 in your browser- On the welcome page, enter your 42 intranet login in the field provided and click Start. This is required so that the exported files are tied to your personal configuration.
- Use the Training tab to practice all 10 levels at your own pace. Alternatively, you can use the Evaluation tab to generate a random configuration, also suitable for evaluations.
Note
Due to license limitations, the project archive is only accessible through the intranet and, therefore, it is not accesible through this repository.
- MDN — How does the Internet work?
- What Is An IP Address? How Does It Work?
- Wikipedia — Classless Inter-Domain Routing (CIDR)
- Wikipedia — OSI model
- Wikipedia - TCP/IP model
- Subnet calculator
This repository contains all 10 solutions in the form of level<number>.json.
- lrcouto and ayogun for creating and publishing, respectively, the 42-project-badges repository.
- gcamerli for creating the 42unlicense repository.
- oakoudad for creating the badge42 repository.
This work is published under the terms of 42 Unlicense. This means you are free to use, modify, and share this software.









