通过网络检测攻击的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中生成重要分数。

一些示例

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

下载数据

请使用下面的链接下载实验数据

darpa29f

参考文献:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OnResizeListener或OnDrawListener或类似的东西   java Orika映射嵌套子列表   保存时java Heroku请求超时代码H12   数据库在Java中出现socket读取超时异常的原因是什么?   java如何更改来自Sqlite数据库的特定数据在Listview中的行颜色   java JAXB解组器无法正确处理XML中的列表   java Android日期时区让我抓狂   java不透明属性在Swing中如何工作?   eclipse从JavaEE代码生成流程图   java如何在Hibernate中从相关表中获取计数   java Glassfish部署了项目的依赖项库   java使内容适合JavaFx中的WebView   java不满意的链接错误libcrypto。所以1.0.0   循环中java数组的使用   java找出哪个包调用服务