通过网络检测攻击的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中模拟按键?   尽管元素存在,但HtmlUnit中的java ElementNotFoundException   在Java中,长双精度并发写入不是原子的吗?   java如何在另一个对象数组中打印对象的int值?   java在显示或更改视图后执行一些代码   java JFR:读取时发生OutOfMemoryError。jfr文件   java Android助手检查是否购买   java这种设计模式的好处是什么?   Weblogic 10.3中针对托管服务器的java部署问题   java如何获取字符串。在编译时投诉的格式   声明字符串数组时发生java错误   java JPA在多个并行线程中从表中删除时发生死锁   java Android:在按钮动画之后启动活动   java并发与JMS主题在春季   使用Lucene spatial search/DateRangePrefixTree进行java日期范围查询?   java可选接口问题   JavaDbUnit没有在每个方法之后清洗和插入数据库,所以测试不是独立的   java在IAIK PKCS11包装器中一对私钥和证书如何匹配?