Home

INDEX

  1. Introduction
  2. Deployment
  3. Design
  4. Sniffer
  5. FlowMeter
  6. Security

Design

This section contains information about the Vision design. We will talk about the application modules, Docker and the technology used at development.

Classes

As Vision is a quite simple application, it has few classes. The next image shows them.

Class diagram

Modules

Vision has three main modules which correspond to the three containers.

The Backend module is responsible for the network sniffing, data transformation and attack detection functionalities, while it manages the NIDS API.

The Data module includes the MySQL database and every related functionality.

The Frontend module refers to the web server functionality. The frontend has been developed using VueJS.

Modules

Technology

As the application includes a wide range of functionalities, many different technologies has been used during its development.

The Backend has been written using NodeJS, but it also includes Java code (Flowmeter) and Python (ML functionalities).

The Frontend server has been developed using NodeJS, while the web GUI includes VueJS components.

The Data Layer is composed by a MySQL database and an NodeJS-ORM called Sequelize.

API

Actually, there are two APIs, each of them inside its own container. The main API is called NIDS and it includes the proper backend functionality, while the Frontend API is the responsible for the web server management.

API image