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

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

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

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

工具目录

分类

查看所有分类
Loading categories
BSF — 僵尸网络模拟框架 | Kitploit
工具/GitHubGitHub/tklab-tud/bsf
网络安全恶意软件分析渗透测试论文与研究学习与教育红队
GitHubtklab-tud/bsf

BSF

僵尸网络模拟框架

查看仓库
803266年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
BSF Logo

BSF - 僵尸网络模拟框架(Botnet Simulation Framework)

BSF 提供了一个离散事件模拟环境,用于实现和扩展点对点僵尸网络、调整其设置,并允许防御者评估监控技术和应对措施。

概要

在僵尸网络运营者与防御者之间的军备竞赛中,运营者占据优势,因为防御者必须对运营者引入的行动和新威胁做出被动反应。僵尸网络模拟框架(BSF)通过创造公平的竞争环境来解决这一问题。它允许防御者通过开发和评估新的僵尸网络监控技术与应对措施,在这场军备竞赛中取得领先。这一点至关重要,因为在真实网络环境中进行实验会干扰其他研究人员,并可能惊动僵尸网络运营者。

BSF 支持对点对点僵尸网络进行逼真的模拟,以探索和研究监控机制与取缔尝试在部署到真实环境前的设计和影响。BSF 是一个离散事件僵尸网络模拟器,提供了一套高度可配置(且可定制)的僵尸网络特性,包括:

  • 真实的网络波动(churn)行为
  • 变化的僵尸行为
  • 监控机制(爬虫与传感器)
  • 反监控机制

此外,BSF 还提供了一个交互式可视化模块,用于进一步研究模拟结果。BSF 旨在帮助研究人员和防御者研究在存在反监控机制的情况下不同监控机制的设计 [1,2,3]。此外,该工具允许用户探索和理解迄今为止所观察到的僵尸网络设计选择的影响。

安装

BSF 包含模拟框架和可视化工具两部分。模拟框架本身构建于 OMNeT++ 之上。可视化工具基于 Dash 构建,以在您喜爱的浏览器中提供交互体验。

设置 OMNeT++

当前版本的 BSF 是使用 OMNeT++ 版本 5.4.1 构建和测试的。

有关 OMNeT++ 提供功能的安装指南、教程和参考资料,请参阅 OMNeT++ 文档。

设置可视化组件

为了可视化僵尸网络模拟,需要以下 Python 包:

root@kitploit:~
pip install dash==1.2.0      # Dash 核心后端
pip install dash-daq==0.1.0  # DAQ 组件(新开源!)

pip install networkx
pip install natsort 
pip install numpy

快速开始

OMNeT++ 模拟基于在 .ini 文件中定义的配置。本仓库的 simulations 文件夹包含一组预定义的配置,位于 tests.ini 和 samples.ini 文件中。

要运行配置,您可以使用 OMNeT++ IDE 或命令行。由于 BSF 不使用 OMNeT++ 的任何图形功能,我们建议在 cmdenv(即仅使用控制台输出)中运行所有模拟。

在 IDE 中运行模拟

要在 IDE 中运行模拟,需要设置一个运行配置。为此,右键单击 *.ini 文件,选择 Run As -> Run Configurations。然后按照下图所示设置配置文件:

IDE 运行配置设置

现在只需点击“应用”并运行。模拟的输出将显示在 IDE 控制台中。

从命令行运行模拟

要从命令行运行,首先需要构建项目。导航到根文件夹并运行:

root@kitploit:~
make MODE=release all 

之后,导航到 simulations 文件夹并运行:

root@kitploit:~
../BSF -r 0 -m -u Cmdenv -c SampleConfig_Crawler -n .. samples.ini

模拟输出

无论从 IDE 还是命令行运行模拟,您应该看到类似如下的输出:

root@kitploit:~
** 事件 #577792   t=64831.46985369179   已过去: 4.21157s (0m 04s)  37% 完成 (37% 总进度)
     速度:     事件/秒=180486   模拟秒/秒=14682   事件/模拟秒=12.293
     消息:     已创建: 406512   当前存在: 2108   在 FES 中: 487
刚刚爬取: 在 88983.25891616358 处有 24 个节点
刚刚爬取: 在 92583.25891616358 处有 40 个节点
** 事件 #1050880   t=93607.74036896409   已过去: 6.28757s (0m 06s)  54% 完成 (54% 总进度)
     速度:     事件/秒=227885   模拟秒/秒=13861.4   事件/模拟秒=16.4402
     消息:     已创建: 729732   当前存在: 2106   在 FES 中: 630
刚刚爬取: 在 96183.25891616358 处有 108 个节点
刚刚爬取: 在 99783.25891616358 处有 286 个节点
刚刚爬取: 在 103383.25891616358 处有 570 个节点

以 ** 开头的块是 OMNeT++ 的标准输出,表示模拟的进度和统计信息。在所选配置中,爬虫额外输出了在每个爬取间隔发现节点数量的报告。虽然这没有太多信息,但我们将在下一节展示如何可视化僵尸网络和爬虫结果的输出。

可视化结果

可视化与模拟框架解耦,基于生成的图形和监控日志文件。我们还上传了一些示例数据,以便在不运行主框架的情况下探索可视化。

要可视化模拟结果,您需要导航到 visualization 文件夹并调用 app.py。之后打开您喜爱的浏览器,访问 *http://127.0.0.1:8050/*。这将显示一个示例配置的图形视图,如下所示:

可视化演示

屏幕右上角的下拉菜单允许您在不同配置的结果之间进行选择。屏幕底部有一个时间线,显示僵尸网络所有可用的快照。这允许可视化僵尸的活动和连接性的变化。此外,右侧菜单允许可视化爬虫或传感器收集的信息。下图展示了一个示例,其中爬虫的视图以绿色高亮显示。

可视化演示

此外,我们目前正在开发更高级的可视化功能,以帮助分析监控和取缔操作。

参考文献

以下出版物展示了 BSF 的使用案例:

[1] Leon Böck, Emmanouil Vasilomanolakis, Jan Helge Wolf, Max Mühlhäuser: Autonomously detecting sensors in fully distributed botnets. Computers & Security 83: 1-13 (2019)

[2] Leon Böck, Emmanouil Vasilomanolakis, Max Mühlhäuser, Shankar Karuppayah: Next Generation P2P Botnets: Monitoring Under Adverse Conditions. RAID 2018: 511-531

[3] Emmanouil Vasilomanolakis, Max Mühlhäuser, Jan Helge Wolf, Leon Böck, Shankar Karuppayah

下载工具