uozbek / deep-learning-nids

A Deep Learning approach toward creating a NIDS using python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Network intrusion detection system using deep learning

Deep Learning Models for NIDS using NSL-KDD and ICIDS2017 datasets.

Requirements

  • python 3.7
  • pipenv module

Installation

Use pipenv install to install dependencies and pipenv shell to run the virtual environment.

Models

Each model has its own file with this format {model_name}.py.

  • LSTM model
  • GRU model
  • RNN model
  • DNN model
  • Classic machine learning models (Naive Bayes, Ada Boost and more)

Usage

  • Create a data directory at the root of the project if not exists.
  • Put NSL-KDD dataset into data/nsl directory
  • Put CICIDS2017 dataset into data/cicids/ directory
  • Depending on your choices, these directories should be created into data directory: mul-nsl, mul-cicids, bin-nsl and bin-cicids.
  • Run for each model using python run.py

Notes on running

  • CICIDS2017 is a pretty large dataset and processing it is time and memory consuming so for test purposes you can use the NSL dataset.

About

A Deep Learning approach toward creating a NIDS using python


Languages

Language:Python 100.0%