Skip to content

๐Ÿ“š Educational network simulation platform for creating, visualizing, and analyzing network topologies. Perfect for learning networking concepts with hands-on experimentation.

Notifications You must be signed in to change notification settings

florinm03/NetLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

NetLab

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.

Screenshots

Homepage Controller
Controller 2 Controller 3
Graph PCAP Table

Credits

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.

Features

  • 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.

Tech Stack

Frontend:

Backend:

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/florinm03/NetLab.git
    cd NetLab
  2. Install frontend dependencies:

    cd Frontend
    npm install
  3. Install backend dependencies:

    cd ../Backend/NetLabBuilder
    python3 -m venv nlb-venv
    source nlb-venv/bin/activate
    pip install -r requirements.txt

Running the Application

  1. Make sure Docker is running and start the database container:

    cd Backend/NetLabBuilder
    chmod +x start_pcap_database.sh
    ./start_pcap_database.sh
  2. Start the backend server:

    cd Backend/NetLabBuilder
    source nlb-venv/bin/activate
    python src/net_lab_builder/app.py
  3. Start the frontend development server:

    cd Frontend
    npm run dev

About

๐Ÿ“š Educational network simulation platform for creating, visualizing, and analyzing network topologies. Perfect for learning networking concepts with hands-on experimentation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published