Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
network-attack-detection — 使用机器学习技术对端口扫描、DoS 和恶意软件攻击进行高级检测 | Kitploit
工具/GitHubGitHub/lucadibello/network-attack-detection
漏洞分析信息收集网络安全机器学习入侵检测学习与教育异常检测日志分析
GitHublucadibello/network-attack-detection

network-attack-detection

使用机器学习技术对端口扫描、DoS 和恶意软件攻击进行高级检测

查看仓库
133603年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

使用机器学习的网络攻击检测

描述

本项目利用机器学习技术对端口扫描、拒绝服务(DoS)和恶意软件等网络攻击进行分类。输入数据采用 Netflow V9 格式,这是 Cisco 使用的标准格式。

分类使用以下模型完成:

  • K-最近邻(KNN)
  • 带 RBF(径向基函数)核的支持向量机分类器(SVC)
  • 使用主成分分析(PCA)和支持向量机分类器(SVC)的流水线
  • 袋装分类器(基于 RBF 核的 SVC)
  • 随机森林分类器
  • 极端随机树分类器
  • 神经网络(MLPClassifier)

本项目使用 Python 实现,基于 Jupyter Notebook 以及多个常用库,包括 UMAP、Pandas、NumPy、Scikit-Learn、Matplotlib 和 Seaborn。

笔记本

笔记本可通过 此处 在 GitHub 上直接查看。或者,您也可以使用 NbViewer 通过 此链接 访问笔记本。

演示文稿

PDF 格式的 Keynote 演示文稿可通过 此处 获取。

数据集

本项目使用的数据集采用 NetFlow V9 格式(由 Cisco 记录,可参见 此处)。该数据集包含两个文件:train_net.csv 和 test_net.csv。

train_net.csv 文件提供了特定告警可能发生时的信息,而 test_net.csv 文件仅用于测试目的,不包含用于评估模型性能的目标变量。

该数据集相当庞大:

  • train_net.csv:约 400 万个数据包(来自 14'066 个不同的网络主机)
  • test_net.csv:约 200 万个数据包(来自 6'186 个不同的网络主机)

数据集特征

  • FLOW_ID:流的唯一标识符
  • PROTOCOL_MAP:表示流中所用协议的字符串,可能的值包括 "ICMP"、"TCP"、"UDP"、"IGMP"、"GRE"、"ESP"、"AH"、"EIGRP"、"OSPF"、"PIM"、"IPV6-ICMP"、"IPV6-IP"、"IPV6-ROUTE"、"IPV6-FRAG"、"IPV6-NONXT"、"IPV6-OPTS" 等。
  • L4_SRC_PORT:流中的源端口号,可能的值范围为 0 到 65535。
  • IPV4_SRC_ADDR:流中的源 IPv4 地址,以点分十进制表示法的字符串形式呈现(例如 "192.168.0.1")。
  • L4_DST_PORT:流中的目的端口号,可能的值范围为 0 到 65535。
  • IPV4_DST_ADDR:流中的目的 IPv4 地址,以点分十进制表示法的字符串形式呈现(例如 "192.168.0.2")。
  • FIRST_SWITCHED:流开始的时间,以自纪元(1970 年 1 月 1 日)以来的秒数计量。
  • FLOW_DURATION_MILLISECONDS:流的持续时间,以毫秒为单位。
  • LAST_SWITCHED:流结束的时间,以自纪元(1970 年 1 月 1 日)以来的秒数计量。
  • PROTOCOL:流中所用的协议,可能的值包括 1(ICMP)、6(TCP)、17(UDP)等。
  • TCP_FLAGS:流中设置的 TCP 标志,以二进制字符串表示(例如 "100101")。
  • TCP_WIN_MAX_IN:入站流量的最大通告窗口大小(以字节为单位)。
  • TCP_WIN_MAX_OUT:出站流量的最大通告窗口大小(以字节为单位)。
  • TCP_WIN_MIN_IN:入站流量的最小通告窗口大小(以字节为单位)。
  • TCP_WIN_MIN_OUT:出站流量的最小通告窗口大小(以字节为单位)。
  • TCP_WIN_MSS_IN:入站流量的最大分段大小(以字节为单位)。
  • TCP_WIN_SCALE_IN:入站流量的窗口缩放因子。
  • TCP_WIN_SCALE_OUT:出站流量的窗口缩放因子。
  • SRC_TOS:源 IP 地址的服务类型(ToS)值。
  • DST_TOS:目的 IP 地址的服务类型(ToS)值。
  • TOTAL_FLOWS_EXP:预期流的总数。
  • MIN_IP_PKT_LEN:流中 IP 数据包的最小长度(以字节为单位)。
  • MAX_IP_PKT_LEN:流中 IP 数据包的最大长度(以字节为单位)。
  • TOTAL_PKTS_EXP:流中预期数据包的总数。
  • TOTAL_BYTES_EXP:流中预期字节的总数。
  • IN_BYTES:流中接收的字节数。
  • IN_PKTS:流中接收的数据包数。
  • OUT_BYTES:流中发送的字节数。
  • OUT_PKTS:流中发送的数据包数。
  • ANALYSIS_TIMESTAMP:流被分析的时间,以自纪元(1970 年 1 月 1 日)以来的秒数计量。
  • ANOMALY:一个二进制标志,指示流是否包含异常(1 = 是,0 = 否)。
  • ALERT:(仅训练集可用)已在当前流上检测到的攻击类型。可能的值如下:
    • None:未检测到攻击
    • Port scanning:该流为端口扫描攻击
    • Denial of Service:该流为 DoS 攻击
    • Malware:该流为恶意软件攻击
  • ID:流的唯一标识符。

数据集作者

Maria-Elena Mihailescu, Darius Mihai, Mihai Carabas, Mikolaj Komisarek, Marek Pawlicki, Witold Holubowicz, Rafal Kozik: The Proposition and Evaluation of the RoEduNet-SIMARGL2021 Network Intrusion Detection Dataset. Sensors 21(13): 4319 (2021)

Kaggle 链接

下载工具