Netflow异常检测python包

数据挖掘 机器学习 异常检测
2021-10-08 23:50:02

有人知道用于 Netflow Anomaly 检测的任何开源/python 包吗?我在 github 上找到了一些,但有更多经验的人。请指教。

1个回答

我在互联网上找不到任何与 netflow 异常检测功能相同的特定软件包,但我发现了如何训练一些解决相同问题的标准算法。我的理解是问题是“网络入侵检测”或“网络流量异常检测以检测网络入侵”

所以模型的创建可以分为几个部分:

  1. 选择合适的算法
  2. 了解如何为算法转换数据
  3. 查找数据集
  4. 训练模型

上述任务更详细:

  1. 算法:k-NN 或随机森林。根据论文Machine Learning DDoS Detection for Consumer Internet of Things Devices k-nearest neighbor 是一种非常精确的网络异常检测算法。最近邻算法存在于 scikit-learn python 包(链接)中。随机森林分类器表现更好。scikit-learn 还有一个随机森林分类器(链接)。

这是第一篇论文中的精度表。KN 是 k-NN。RF是随机森林。NN是神经网络。LSVM 是支持向量机算法的一种变体。 算法精度

  1. 本文解释了 DDoS 的 k-NN 如何工作:Proactive Detection of DDoS Attacks Utilizing k-NN Classifier in an Anti-DDos Framework

  2. 根据上述论文和其他来源,以下数据集用于训练:

    1. KDCup1999这是一个网络入侵数据库
    2. MIT 林肯实验室,2000,DARPA 入侵检测场景特定数据集包含两个 DoS 攻击场景
    3. 关于可用数据集的研究门问题
  3. 在此链接上,您将了解如何在 scikit-learn 中训练 k 最近邻。

以下是链接中的示例代码:

>>> X = [[0], [1], [2], [3]]
>>> y = [0, 0, 1, 1]
>>> from sklearn.neighbors import KNeighborsClassifier
>>> neigh = KNeighborsClassifier(n_neighbors=3)
>>> neigh.fit(X, y) 
KNeighborsClassifier(...)
>>> print(neigh.predict([[1.1]]))
[0]
>>> print(neigh.predict_proba([[0.9]]))
[[0.66666667 0.33333333]]