[][src]Crate nessus_xml_parser

This is a library for parsing Nessus XML files and providing iterators over the useful features. Currently, the whole XML file is read into appropriate data structures and iterators are provided over the hosts and ports.

let xml = r#"
<?xml version="1.0" ?>
<NessusClientData_v2>
...
</NessusClientData_v2>
"#;
let nessus = NessusScan::parse(&xml).unwrap();

Structs

FamilyItem

Holds the name and status information about a plugin family

FamilySelection

Holds a Vec of FamilyItems to record which plugin families are selected

HostProperties

Metadata about a host, stored as a hashmap

IndividualPluginSelection

Holds a Vec of PluginItems to specify which plugins are selected

NessusScan

This struct holds the two sections of a Nessus XML file. Every XML file must have a single Policy section, and zero or one Report sections.

PluginItem

Holds metadata about a particular plugin

PluginsPreferences

Holds a Vec of PluginsPreferencesItems

PluginsPreferencesItem

Stores the value of a plugin preference

Policy

The policy used for the scan

Port

Maps port number to protocol and service name

Preferences

Preferences struct, holding the ['ServerPreferences] and [PluginsPreferences`] for a scan run

Report

The Report format. The report is broken down into a list of hosts, each of which has an associated list of findings.

ReportHost

Container for the properties and findings for a particular host

ReportItem

Struct for the data from a finding

ServerPreference

Key-value pair for ServerPreferences

ServerPreferences

Holds a Vec of ServerPreference key-value pairs

Enums

Error

Error types returned by this crate.

PluginStatus

Possible status values for a plugin

PreferenceType

The possible data types for a preference entry

Protocol

The network protocols supported by Nessus

Severity

Severity ratings for findings

Type Definitions

ReportHosts

Type alias for ReportHosts

ReportItems

Type alias for ReportItems