将机器学习应用于DDoS过滤
在斯坦福大学的机器学习课程中, Andrew Ng提到了将ML应用于IT。一段时间后,当我在站点上获得中等大小的DDoS(大约2万个bot)时,我决定使用简单的神经网络分类器与之抗衡。 我已经在大约30分钟的时间内编写了这个python脚本:https : //github.com/SaveTheRbtz/junk/tree/master/neural_networks_vs_ddos 它采用pyBrain,并采取3个nginx的日志作为输入,其中两个来训练神经网络: 很好的查询 与坏人 和一个日志进行分类 来自错误的查询 0.0.0.0 - - [20/Dec/2011:20:00:08 +0400] "POST /forum/index.php HTTP/1.1" 503 107 "http://www.mozilla-europe.org/" "-" ...好的... 0.0.0.0 - - [20/Dec/2011:15:00:03 +0400] "GET /forum/rss.php?topic=347425 HTTP/1.0" 200 1685 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9) Gecko/2008052906 Firefox/3.0" ...它构造了一个字典: ['__UA___OS_U', '__UA_EMPTY', '__REQ___METHOD_POST', '__REQ___HTTP_VER_HTTP/1.0', …