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§
- Family
Item - Holds the name and status information about a plugin family
- Family
Selection - Holds a Vec of
FamilyItem
s to record which plugin families are selected - Host
Properties - Metadata about a host, stored as a hashmap
- Individual
Plugin Selection - Holds a Vec of
PluginItem
s to specify which plugins are selected - Nessus
Scan - 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.
- Plugin
Item - Holds metadata about a particular plugin
- Plugins
Preferences - Holds a Vec of
PluginsPreferencesItem
s - Plugins
Preferences Item - 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.
- Report
Host - Container for the properties and findings for a particular host
- Report
Item - Struct for the data from a finding
- Server
Preference - Key-value pair for
ServerPreferences
- Server
Preferences - Holds a Vec of
ServerPreference
key-value pairs
Enums§
- Error
- Error types returned by this crate.
- Plugin
Status - Possible status values for a plugin
- Preference
Type - The possible data types for a preference entry
- Protocol
- The network protocols supported by Nessus
- Severity
- Severity ratings for findings
Type Aliases§
- Report
Hosts - Type alias for ReportHosts
- Report
Items - Type alias for ReportItems