首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是架构我的网络安全测试工具的正确方法吗?

这是架构我的网络安全测试工具的正确方法吗?
EN

Software Engineering用户
提问于 2021-02-11 17:31:39
回答 1查看 37关注 0票数 -2

我计划使用python创建一个网络安全测试工具,该工具执行各种攻击,并测试主机上的其他漏洞问题(例如:死平、慢氯、泪滴等),以便安全团队能够快速地PoC不同的供应商设备。

因为这是我的第一个真正的“自己的”项目.我不知道如何继续构建它。

到目前为止我是这样想的:

代码语言:javascript
复制
  ├ role
  | ├ attacker.py
  | └ victim.py
  ├ tests
  | ├ slow_loris.py
  | └ teadrop.py
  ├ CLI.py
  └ main.py

在角色中,我们有两个脚本来定义要运行的服务(如果它是受害者,那么它在端口80上运行一个web服务器等等),在测试中,我们要运行不同的测试,在CLI中,我们可以找到用户可以拥有的与CLI的所有可能的交互,菜单,“您想退出吗”等等。

最后,我们导入所有内容并运行程序。

我应该保持这种结构还是有什么东西我可能没有寻址/忘记?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2021-02-12 19:33:01

用这种方式设计一个工具是非常好的。将不同的角色/职责分离到不同的模块中非常好,因为CLI接口与您的“业务逻辑”是分开的。

然而,Python的导入机制相当脆弱。如果您是import CLI,则不能保证您将得到CLI.py文件。相反,更明智的做法是将所有文件移动到一个模块中,然后使用相对导入:

代码语言:javascript
复制
- README.md
- tests/
  - ...
- your_awesome_tool/
  - __init__.py
  - __main__.py
  - cli.py
  - role/
    - ...

__init__.py文件表示your_awesome_tool模块。当您通过__main__.py执行模块时,将调用python3 -m your_awesome_tool文件。在这些文件中,可以使用像from .cli import some_function这样的相对导入。

是使用像这样的模块,还是像您正在做的那样使用单独的脚本取决于您的目标。因为只是玩弄工具,这并不重要。当您想要一个可以像普通程序一样运行的可安装工具时,使用已建立的Python机制更有用。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/422148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档