Eldeeqq / traced

Traceroute anomaly detection using traceroute data

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build,Test,Lint workflow

Traced

This project contains experiment notebooks and source code for traceroute anomaly detection using Bayesian inference with code name traced. This project was done as Masters Thesis at Faculty of Information Technology, Czech Technical University In Prague, in cooperation with CERN and University of Michigan.

The current version is in module traced_v2, traced module was kept for backward compatibility of notebooks, but will be removed in future.

For minimal demo, see this notebook.

Usage

This project uses conda as a package manager. Conda environment file is present here environment.yaml

To install it, run:

conda env create --name traced --file=environment.yaml 

Notebooks

The notebooks are currently in read-only mode, due the re-implementation of the traced module. The notebooks have to undergo a migration to new version of the module (and also some cleaning).

The notebooks marked as dirty require further re-visition, or are meant to be deleted.

Demo Dashboard app

The demo dashboard uses serialised models to avoid sharing and processing the data.

Unzip the data archive into app folder, the final structure should look like: app/data/*.dill. Then run the following commands.

conda env create --name traced --file=environment.yaml 
cd app
streamlit run app.py

After that, web browser should open with a tab containing the demo dashboard app. After each reload, please wait for the app to finish loading (animation in right top corner).

pip alternative

You should be able to alternatively use pip requirements file. Make sure you have python 3.10 installed, then run:

pip install -r requirements.txt

Remarks

The module, notebooks, and dashboard app was tested on Mac OS with M1 chip and on Ubuntu 18 LTS. If you encounter any problems, create issue, or contact me at perinja2@gmail.com.

About

Traceroute anomaly detection using traceroute data


Languages

Language:Jupyter Notebook 98.4%Language:HTML 1.5%Language:Python 0.1%Language:Makefile 0.0%