9 个版本 (4 个破坏性更新)

使用旧的 Rust 2015

0.5.1 2017年12月8日
0.5.0 2017年11月29日
0.4.1 2017年11月10日
0.4.0 2017年10月14日
0.1.0 2017年8月7日

#33#漏洞

LGPL-3.0

775KB
766 行代码(不包括注释)

nessus-rs 构建状态 crates.io docs.rs

Nessus 漏洞扫描器 API 客户端。

[dependencies]
nessus = "0.4"

使用方法

extern crate nessus;

use std::time::Duration;

fn main() {
    let scan_id = 31337;
    let client = nessus::Client::new("https://nessus.example.com", "yourtoken", "secrettoken").unwrap();

    let scan = client.launch_scan(scan_id).unwrap();
    scan.wait(&client, Duration::from_secs(60), Some(30)).unwrap();

    let export = client.export_scan(scan_id).unwrap();
    export.wait(&client, Duration::from_secs(3), Some(40)).unwrap();

    let report = export.download(&client).unwrap();
    println!("download: {:?}", report);
}

请参阅 examples/

为什么有这么多版本发布?

nessus-rs 仍在进行生产使用测试,虽然 tenable.com 有一些文档,但响应对象没有充分记录,无法正确反序列化。虽然这个库在大多数情况下应该能工作,但存在一些边缘情况会导致反序列化失败,并需要更新结构定义。有人可能会争论这些是 0.0.X 更新,但它们实际上是库的技术破坏性变更,因此以 0.X.0 更新的形式发布。如果你遇到 JsonError,更新你的 nessus-rs 依赖项可能会解决这些问题。更新依赖项应该是相当安全的,通常不需要更新你的代码。

如果你在 tenable.com 工作,请考虑记录可能为空或缺失的字段,并提交一个问题。

许可证

LGPL3

依赖项

~19–29MB
~466K SLoC