基于机器学习的网络异常流量识别系统——数据篇

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34611224/article/details/56489337

数据集

获取数据集的两个方案(网络异常流量)

一、自己配置虚拟机爬取数据(有条件的可以直接搞服务器上的数据)
缺点:很耗时而且爬的还没有什么普适性,电脑不行直接挂,我就是( ̄▽ ̄)”

  • 自己用NetMate,设置特征选择的数据,然后直接爬。
  • 系统:linux,配置文件设置一下就可开始对爬取的数据做特征。
    Net Mate官网
  • 预安装软件: readline libpcap libxml2 libcurl openssl pthreads

二、用已经爬取好的强大数据集
缺点:不是自己的( ̄▽ ̄)”

  • 在经过一段长时间的寻觅后,我发现了它:KDDCUP1999的数据集,下面简要说一下它的内容和优势:

    1.No.5 KDD CUP的预期目标是实现一个网络入侵检测系统(和我的目的一致(lll¬ω¬))。
    2.预测模型需要能够辨别出到底哪个是入侵或攻击的“BAD”连接还是正常的“GOOD”连接。
    3.数据集包含一组标准的审计数据,包括在军事网模拟的各种攻击。

  • 数据集收集了9周时间的TCP dump网络连接和系统审计数据,仿真各种用户类型、各种不同的网络流量和攻击手段。(所以我觉得为什么不用它呢,虽然电脑还是可能会炸,但是我省去了爬数据的时间,毕竟7,000,000多数据)

数据处理

数据处理的方式应该也是两种
(不妥之处请见谅,我在思考论文的时候就按照机器学习的两个方面来的)

  1. 用决策树之类的有监督机器学习,避免不了标特征:分为哪些攻击?这些攻击是否可以再归类成几种大的异常类型?然后这些特征又得给起个啥好听的名字O(∩_∩)O天!想想都怕,好累。
  2. 用K-means等无监督方式,直接生成簇,不过我感觉是不太好使,毕竟这么大的计算量。
  3. 综上,基于攻击类型也挺清楚,数据集也是模拟出来的,数据量庞大,最终选择了C4.5决策树算法。

KDD CUP 1999数据集的特征分析:
(此处感谢Sal Stolfo教授和Wenke Lee教授的团队)

在经过特征分析后,数据中一共有4大类39种攻击类型,其中22种攻击类型出现在训练集,另17种只出现在测试集,为了评估模型的泛化能力。(用心良苦( ̄▽ ̄)”)下面分别展开:

  • DoS(Denialof-Service attack,拒绝服务攻击):
    back,land,neptune,pod,smurf,teardrop

  • R2L(Remote-to-Local attack,来自远程主机的未授权访问):
    ftp-write,guess-passwd,imap,multihop,phf,spy,warezclient,warezmaster

  • U2R(User-to-Root attack,未授权的本地超级用户特权访问):
    buffer-overflow,loadmodule,perl,rootkit

  • PROBE(Probing attack,通过端口监视或扫描收集信息):
    ipsweep,nmap,portsweep,satan


KDD CUP 1999中每个连接的属性描述
(41种连接属性,1个类别属性)—-想想42个一个个打( ̄▽ ̄)”stop!
数据集链接,点我可下,也有特征表述和属性表述

http://kdd.ics.uci.edu/databases/kddcup99/task.html
详细的解释,英语够好就行


KDD CUP 1999数据集预处理

我用的weka做处理,所以转ARFF文件,加42个头部( ̄▽ ̄)”
名称介绍里都有,数据类型自定呀,我测试了好久,破机器也崩了好几次。
然后就可以用java写函数调用了!

(第一篇,请大家批评指正O(∩_∩)O)

猜你喜欢

转载自blog.csdn.net/sinat_34611224/article/details/56489337
今日推荐