PythonNessus模块解析,与xmlrpc api聊天,…

python-libnessus的Python项目详细描述


python libnessus=======

代码状态

Build StatusCoverage StatusCode Health

还在开发中…

关于

libnessue是一个用于操作nessus进程和数据的python库。

如果需要实现 以下内容:-操作Nessus扫描结果以进行报告-比较 和diff nessus scans-将nessus扫描存储在数据存储中(mongo和 支持弹性搜索)

将来我们可能会实现一些与nessus api讨论的东西- 定期自动化或安排Nessus扫描-批处理过程 扫描报告

安装

依赖关系:如果您需要jsonpickle、elasticsearch、pymongo 希望使用后端插件

您可以通过pip安装libnmap:

pip install python-libnessus

或通过Git:

$ git clone https://github.com/bmx0r/python-libnessus.git 
$ cd python-libnessus 
$ python setup.py install

型号

尼斯报告:

In [32]: report = NessusParser.parse_fromfile('/home/vagrant/python-libnessus/libnessus/test/files/nessus_forgedReport_ReportItem.nessus')
In [33]: report?
Type:           NessusReport
String form:    localpci 1 0:00:05
File:           /home/vagrant/python-libnessus/libnessus/objects/report.py
Docstring:
This class represent a Nessus repport, it aims to manipulate
in a easy way the content, and present some metadata
Init docstring:
Description: Constructor of NessusReport
:param name: name of the report
:type name: str
:param hosts: list of NessusReportHost
:type hosts: list
:return: NessusReport
:rtype: NessusReport

nessusreporthost:

In [34]: host = report.hosts[0]
In [35]: host?
Type:        NessusReportHost
String form: 127.0.0.1 127.0.0.1 {'patch-summary-txt-79ed019e4b6ec5267fd968e511eccdb2': 'CentOS 6 : libtirpc ( <...> 2cda94fbf08': 'CentOS 5 / 6 : libxml2 (CESA-2013:0581): Update the affected libxml2 packages.')'} 5
File:        /home/vagrant/python-libnessus/libnessus/objects/reporthost.py
Docstring:   Description: Represent an object NessusReportHost in a nessus xml

nessusreportitem:

In [36]: reportitem = host.get_report_items[3]
In [37]: reportitem?
Type:           NessusReportItem
String form:    10544:Linux Multiple statd Packages Remote Format String 4
File:           /home/vagrant/python-libnessus/libnessus/objects/reportitem.py
Docstring:      This class represent a ReportItem in the nessus xml
Init docstring:
Constructor of Vulnerability
:param vuln_info: dict of vulnerabities as generated by
NessusParser.parse_reportitem
:type vuln_info: dict

示例

下面是一个基本示例:

# Parse a nessus report from xml and save it in Elastic search
In [1]: from libnessus.parser import NessusParser
In [3]: from libnessus.plugins.backendplugin import NessusBackendPlugin
In [4]: from libnessus.plugins.backendpluginFactory import BackendPluginFactory
In [5]: url = {'plugin_name': "es"}
In [6]: backend = BackendPluginFactory.create(\**url)
In [7]: nessus_obj_list = NessusParser.parse_fromfile('/home/vagrant/python-libnessus/libnessus/test/files/nessus_forgedReport_ReportItem.nessus')
In [8]: rc = nessus_obj_list.save(backend)
In [9]: rc
Out[9]: 2275333
In [10]: backend
Out[10]: <libnessus.plugins.es.NessusEsPlugin at 0x1dcc790>
In [11]: nessus_obj_list
Out[11]: localpci 1 0:00:05
#retrieve the report from ES 
In [15]: ff = backend.get("2275333")
In [16]: ff
Out[16]: localpci 1 0:00:05

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

推荐PyPI第三方库


热门话题
Java中两个ArrayList的内部联接   java如何制作按钮侦听器组方法?   Java位表示法中的字节、字符和int   java如何测试控制台输出代码?   JAXB在编组java时将xmlns添加到元素中   java 安卓 Web服务调用问题   java从按钮中选择多个正确答案   java如何获取sensu服务器事件数据   java如何在编写时添加分隔符。使用openCSV的csv文件   在fedora 23上通过jnlp运行jenkins slave的java问题   如何从java web应用程序创建http可见文件?   java如何在安卓中通过编程改变矢量绘图的颜色   java为什么我总是得到未初始化的变量x?   无法从java/Android Studio中的网站获取数据   ArrayList实现在Java中的最低级别是如何工作的?   java告诉SAX解析器忽略无效字符?   java无法使用JarSplice创建可运行的LWJGL jar   java解析一个包含许多字段的json对象   用于Command+T的java JavaFX密钥组合(新选项卡)   java StreamAPI收集器。groupingBy空集合而不是null