一种简单快速的远程网络测试模拟器

nasim的Python项目详细描述


Status:稳定释放。没有额外的开发计划,但仍在维护中(错误修复等)。在

网络攻击模拟器

Documentation Status

网络攻击模拟器(NASim)是一个模拟的计算机网络,包括漏洞、扫描和漏洞利用,被设计用来作为AI代理的测试环境,以及用于网络渗透测试的规划技术。在

安装

在PyPi上安装最新版本的NASim最简单的方法是通过pip:

$ pip install nasim

要安装运行DQN测试代理的依赖项(这是运行演示所必需的),请运行:

^{pr2}$

要获得最新的最新版本并以开发模式安装,请参阅Install docs

演示

要查看NASim的运行情况,您可以运行提供的演示程序来直接与环境交互,或者查看预先培训过的AI代理程序在运行。在

要在交互模式下运行微型基准场景演示,请运行:

$ python -m nasim.demo tiny

这将运行一个交互式控制台,用户可以在其中查看当前状态并选择要采取的下一个操作。该场景的目标是妥协每个主机都有一个非零值。在

有关场景的完整列表,请参见here。在

要使用预先培训的AI代理运行tiny基准场景演示,首先确保安装了DQN依赖项(请参见上面的Installation部分),然后运行:

$ python -m nasim.demo tiny -ai

注意:目前您只能为tiny场景运行AI演示。在

与OpenAI gym一起使用

NASim实现Open AI Gym环境接口,因此可以与为该接口开发的任何算法一起使用。在

Starting NASim using OpenAI gym。在

作者

Jonathon Schwartz-Jonathon.schwartz@anu.edu.au

许可证

MIT©2020,乔纳森·施瓦茨

新增功能

  • 2020-09-23(v 0.7.3)(微释放)
    • 修正了方案YAML文件未包含在PyPi包中的问题
    • 添加到最终的QQ-Learning Agent选项中
  • 2020-09-20(v 0.7.2)(微释放)
    • 修复了重新加载模块时“重新注册”健身房环境的错误
    • 添加了表格Q-Learning的示例实现:agents/ql_代理.py代理/ql_重播.py
    • 在文档中添加了代理部分,以及其他次要文档更新
  • 2020-09-20(v 0.7.1)(微释放)
    • 添加了一些用于运行随机基准测试和描述基准测试场景的脚本
    • 添加了更多的文档(包括用于创建自定义方案)并更新了其他文档
  • 2020-09-20(v 0.7.0)(小版本)
    • 实现基于主机的防火墙
    • 添加特权升级
    • 添加了一个演示脚本,包括一个“微型”场景的预培训代理
    • 修复上限计算(在发现主机的奖励中考虑)
  • 2020-08-02(v 0.6.0)(小版本)
    • 实现了与的兼容性健身房。品牌()
    • 更新的文档用于加载和与NASimEnv交互
    • 添加了附加功能到nasim.场景为了更容易将场景单独加载到NASimEnv
    • 修复了在同一python会话中处理类属性和创建不同场景的错误
    • 修复了暴力的代理和测试
  • 2020-07-31(v 0.5.0)(小版本)
    • PyPi的首次正式发布
    • 清除了依赖项,设置.py等等,还有一些小的修补程序

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java检查整数是0还是检查变量是null更好?   java Android Kotlin(初学者)使用File(),并从ACTION\u GET\u内容返回Uri   java JavaFx在“内部场景”和根场景之间切换   spring将XMLBean配置转换为java配置   java JPA HIBERNATE映射列两次(embeddedID和POJO)   c#单态模式模型在什么情况下适用?   java请求。getRemoteUser在特定时间后返回null?   spring boot中PUT api控制器的java my单元测试用例失败   java在字符串中互换地解析和替换值   java Android JNI在应用程序中检测到错误:调用JNI GetMethodID时出现挂起异常   JavaSpringDataMongo:使用非简单键持久化映射   爪哇玻璃鱼连接被拒绝   java如何在用户注册时发送特定电子邮件id的自动回复?   Java列表:实例化时和之后的赋值之间的差异