Coder Social home page Coder Social logo

mhomaid1 / ip-flow-analysis Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.48 MB

Develop machine learning model capable of detecting specific applications such as Facebook, YouTube, Instagram, etc, from IP flow statistics

Jupyter Notebook 33.37% HTML 66.63%

ip-flow-analysis's Introduction

IP Flow Analysis

Project Overview

The Project aim is to analyze IP network traffic flows to predict application layer protocol (specific application) such as Facebook, YouTube, and Instagram.

The dataset can be found here, the dataset contains 87 features. Each instance holds the information of an IP flow generated by a network device i.e., source and destination IP addresses, ports, interarrival times, layer 7 protocol (application) used on the flow that we want to predict class.

For more details go to the project blog post

Motivation

Considering that most of the network traffic classification datasets are aimed only at identifying the type of application an IP flow holds (WWW, DNS, FTP, P2P, Telnet,etc), this dataset goes a step further by generating machine learning models capable of detecting specific applications such as Facebook, YouTube, Instagram, etc, from IP flow statistics (currently 75 applications).

Libraries used

  • keras 2.2.4+
  • sklearn 0.21.2+
  • numpy 1.16.4+
  • seaborn 0.9.0+
  • pandas 0.25.0+
  • matplotlib 3.1.0+

Files

  • /docs folder contain project blog doc and images
  • ip-flow-analysis.ipynb is the notebook where the analysis happen
  • model.h5 is the deep learning model can be generated from the notebook
  • Dataset-Unicauca-Version2-87Atts.csv is the dataset should be downloaded from here

Analysis Summary

The conclusion of our analysis is that we can identify the type of IP flow application with 66% accuracy, for more details go to the project blog post

Future Improvement

We can improve the model by

  • using more features that we have dropped
  • extract new features like (Is the flow for ingoing traffic or outgoing? Is the port is privileged or not?)
  • aggregate flows by connection

Acknowledgements

I would like to thank Juan Sebastián Rojas and Universidad Del Cauca for providing this dataset

ip-flow-analysis's People

Contributors

malhomaid avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.