/Proyecto-Redes-3

Final Project application in Flask that allows the management of a computer network using Python in a representational state transfer or REST architecture.

Network-Manager

Flask server for Network management in GNS3.

Objective

Get information about devices in a Local Network (Name, Description, Location and Contact). Information about packets sent in network using Pygal and Graphviz. Alerts when packet loss with Tkinter

Table of contents

Built with

Python 3.6.5 Flask Bootstrap HTML CSS SQLite

Functionalities

  • User Registration
  • Login as general or admin user
  • Roles management
  • Create form in modal window by default
  • Inline editing enabled by default
  • Skins and layout customization
  • Dashboard, charts, chat and calendar examples
  • Detects Network Topology and handle updates processes every x time (admin only)
  • Graphs the Network Topology
    • Uses secure channel to communicate between them
    • Create, Modify & Delete Users
    • Raise dynamic routing protocols (RIP, OSPF and IGRP), admin can change the protocol and modify the parameters
    • MIB-II using SNMPv3
    • Can change
      • Host Name
      • OS Version
      • Admin
      • Location
      • Contact
      • Time up and last change
  • Save in a DB the main network data and deploy PDF's and Graphs containing them
  • Show:
    • Packages sent and received
    • Packages lost
    • Packages broken
  • Save every event realized in a DB and see it in REST
  • Send e-mails with changes
    • Percentage of lost packages / time
    • Broken packages / time
    • Device data Modification
    • Up or Down of the Interface

Demo

Here is a working live demo: Insert Demo Link Here

Site

Currently on Development.

Mobile Support

The Network-Manager is compatible with devices of all sizes and all OS's.

Currently on Development.

Installation

  • Clone or download the git repository.

    git clone https://github.com/AdrianRomo/NetworkManager.git
  • Create and activate a virtual environment:

    virtualenv venv
    $ source venv/bin/activate
  • Install the requirements inside the app folder

    pip install -r requirements.txt
  • Once the process finishes give execution permission to app.py file and run it

    ./app.py
  • The first execution will create automatically a sample sqlite database.

  • Open your favorite browser and type:

    https://localhost:5000/admin
    

    then just log in with the default user or register one.

Tests

Currently on Development.

To-do

On Development

Team

Adrian Romo Jaime Lechuga
Adrian Romo Jaime Lechuga

MIT © Adrian Romo