Implementation of a multi-task model for encrypted network traffic classification based on transformer and 1D-CNN.
[Paper]
[W&B Report]
Table of Contents
This is a development project based on an existing work. Following the model architecture, parameters, and utilizing some datasets mentioned in the original paper, the goal is to implement the experimental results. However, performance matching the paper cannot be guaranteed. For simplicity in development, this project exclusively utilizes the ISCX VPN-non VPN dataset and follows the preprocessing methods outlined in the paper. Finally, the model is trained according to the parameters specified in the paper.
Build the Python environment on either cloud or on-premises machines. To facilitate model training, please follow these simple example steps.
- Install python packages
pip install requirements.txt
- Download ISCX VPN-non VPN dataset from here.
-
Preprocess ISCX VPN-non VPN data through a
Makefile
- Several pickle files would be generated in
data/
make preprocess
- Several pickle files would be generated in
-
To execute various model training tasks through a
Makefile
, follow the step below:- Execute all training jobs for each model
make train-all
- Execute all training jobs for each model
- Multi-task model Implementation
- 1D-CNN model
- Transformer model
- MTC
- 1D-CNN + transformer + fusion blocks
Distributed under the MIT License. See LICENSE
for more information.
- ISCX VPE-non VPN
-
After filtering by application type
Application Amount aim_chat 2366 email 19705 facebook 2472071 ftps 4378 gmail 5242 hangouts 4419276 icq 2490 netflix 474 scp 19270 sftp 1351 skype 3727604 spotify 939 torrent 6885 vimeo 611 voipbuster 1559956 youtube 2230
-