Giter Site home page Giter Site logo

cloudstrifer / deeplearning-network-traffic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from akshitvjain/deeplearning-network-traffic

0.0 0.0 0.0 6.14 MB

Network Traffic Identification with Convolutional Neural Networks

License: MIT License

Python 4.70% Jupyter Notebook 95.30%

deeplearning-network-traffic's Introduction

deeplearning-network-traffic

  • Network Traffic Identification with Convolutional Neural Networks - This project aims to implement a new payload-based method to identify network protocol/service using convolutional neural network.
  • The paper was published by IEEE and was presented at the 4th Intl Conf on Big Data Intelligence and Computing. Access the publication at https://ieeexplore.ieee.org/document/8512009

Network Traffic Dataset

For this study, network traffic was collected during the national CPTC held at RIT in November, 2017. From the collected traffic, 34,929 TCP flows were extracted. These flows contained 24 unique protocol labels, with a fairly unbalanced distribution. The dataset is curated by extracting payload bytes from TCP flows, and the protocol/service labels associated with the flows are detected using a network deep packet inspection tool (nDPI). The following table displays the first few service labels and their associated payload bytes.

0 1 2 3 4 5 6 7 8 9 ... 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024
0 Google 22 3 1 2 0 1 0 1 252 ... 113 118 108 144 87 17 63 67 134 114
1 SSL 22 3 3 0 57 2 0 0 53 ... 140 123 32 18 193 74 221 192 98 78
2 LDAP 48 132 0 0 4 249 2 2 3 ... 161 230 107 18 191 84 166 85 176 245
3 LDAP 48 132 0 0 5 8 2 2 3 ... 168 49 160 26 52 181 64 181 202 160
4 MS_OneDrive 72 84 84 80 47 49 46 49 32 ... 46 105 112 118 54 116 101 115 116 99

5 rows ร— 1025 columns

The bar chart shows the most frequent protocols/services and their frequency distribution. link

Data pipeline for Network Traffic Identification

There are multiple phases through which the payload data needs to pass through before it can be used to train a deep learning model.

link

Results

The table below shows the aggregated performance metrics for the different optimizers used to train the CNN model.

link

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.