通过网络检测攻击的python包
detect-attacks的Python项目详细描述
检测攻击:
检测网络攻击的python包包括:
- 从攻击中收集数据
- 对数据进行分类以预测网络攻击的风险
- 警告用户存在可能是网络攻击的风险。
入门
先决条件
- 在使用检测攻击之前,应先安装这些软件包:
tensorflow 1.5.0
sklearn 0.19.1
keras 2.1.3
numpy 1.14.0
matplotlib 2.1.2
deepmg 0.5.9
- 如果没有,请安装
pip install matplotlib
pip install numpy
conda install scikit-learn
conda install -c conda-forge tensorflow
conda install -c conda-forge keras
pip install Keras-Applications
pip install Keras-Preprocessing
pip install keras_sequential_ascii
pip install deepmg
安装或下载软件包检测攻击
pip install detect_attacks
运行实验
如何使用检测攻击
输入:
- 必需:包含数据(*u x.csv)和标签(*u y.csv)的csv文件
- 可选:如果使用外部验证集:data(*uzx.csv)和labels(*uzy.csv))放入datachangable中,参数为--原始数据文件夹。
例如,data1_x.csv和data1_y.csv。
输出:
- results:每个折叠的性能/培训/测试信息和摘要结果放入[results/{em1}$name_dataset_parameters_generate_image/](results/)(可使用参数--parent_folder_results)中,包含5个以上文件:
*file_sum.txt:用于运行的参数,每次折叠时的性能。最后一行显示了acc、auc、执行时间和其他实验指标的训练/测试性能。实验完成后,在标记实验完成的文件名后附加后缀“_ok”(可使用参数--suff_fini进行更改)。
*文件_each fold.txt(如果--save_folds=y):每一次折叠的准确结果、AUC、MCC、训练和测试损失。
*file_mean_acc.txt(如果--save_avg_run=y):如果实验包括n独立重复运行,那么该文件包括每次运行的k-以accuracity度量的平均性能和开始训练/测试、训练/测试完成时的时间执行。
*file_mean_auc.txt(如果--save_avg_run=y):如果实验包括n独立重复运行,那么该文件包括在开始的训练/测试、训练/测试结束时由auc测量的每次运行的k倍上的平均性能。
如果--保存_para=y:配置文件以重复实验
如果使用--save_w=y(保存训练网络的权重)和/或--save_entire_w=y,--save_d=y,则将创建两个文件夹:
results/{em1}$name_dataset_parameters_to_generate_image/models/:includes*weightmodel*.json包含模型的结构*weightmodel*.h5存储权重。
结果/{em1}$name_dataset_parameters_to_generate_image/details/*weight挈t:包含每个时期的训练和测试的准确性和损失--save_d=y。如果--save_rf=y,则每次运行时,我们都会从rfs中生成重要分数。
- results:每个折叠的性能/培训/测试信息和摘要结果放入[results/{em1}$name_dataset_parameters_generate_image/](results/)(可使用参数--parent_folder_results)中,包含5个以上文件:
一些示例
db_name='data1';
folder_data='/Users/hainguyen//test/data/';
folder_res='/Users/hainguyen//test/results/';
python -m detect_attacks -i $db_name -r $folder_data --parent_folder_results $folder_res --model rf_model
python -m detect_attacks -i $db_name -r $folder_data --parent_folder_results $folder_res --model svm_model
python -m detect_attacks -i $db_name -r $folder_data --parent_folder_results $folder_res --model model_cnn1d
python -m detect_attacks -i $db_name -r $folder_data --parent_folder_results $folder_res --model model_mlp
python -m detect_attacks -i $db_name -r $folder_data --parent_folder_results $folder_res --model fc_model
下载数据
请使用下面的链接下载实验数据