Crate nessus_xml_parser

Source
Expand description

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 Aliases§

ReportHosts
Type alias for ReportHosts
ReportItems
Type alias for ReportItems