NetLab is a web-based network topology simulator that allows users to create, visualize, and interact with virtual network environments. It combines a Vue.js frontend with a Python Flask backend to provide a seamless and interactive experience for network experimentation and learning.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The backend of this project builds upon the work of JanBdot in the NetLabBuilder project. We extend our gratitude for the foundational network topology and container management infrastructure that made this project possible.
- Interactive Topology Creation: Easily create and configure network topologies such as rings, stars, trees and meshes.
- Real-time Visualization: View your network topology in real-time with a dynamic graph.
- Embedded Terminal: Access and interact with the command line of each node in your topology directly from your browser.
- PCAP Analysis: Capture and analyze network traffic with the integrated PCAP viewer.
- Extensible Architecture: The project is designed to be easily extensible with new topologies and features.
Frontend:
Backend:
-
Clone the repository:
git clone https://github.com/florinm03/NetLab.git cd NetLab -
Install frontend dependencies:
cd Frontend npm install -
Install backend dependencies:
cd ../Backend/NetLabBuilder python3 -m venv nlb-venv source nlb-venv/bin/activate pip install -r requirements.txt
-
Make sure Docker is running and start the database container:
cd Backend/NetLabBuilder chmod +x start_pcap_database.sh ./start_pcap_database.sh -
Start the backend server:
cd Backend/NetLabBuilder source nlb-venv/bin/activate python src/net_lab_builder/app.py
-
Start the frontend development server:
cd Frontend npm run dev





