1 个稳定版本
使用旧 Rust 2015
1.0.0 | 2016年9月16日 |
---|
#71 in #scanner
15KB
387 行
SslScan
SslScan 是 SslLabs 自动扫描器的 Rust 版本。默认情况下,它只输出每个主机的 IP 的等级,但你可以开启调试日志,并打印出整个 ssllabs 的响应。对于 SslScan,有两个命令。
scan_new
- 强制进行新的扫描,不管旧的结果。只需提供一个主机名,你就可以开始了。get_old
- 返回仍在 ssllabs 缓存中的结果。如果 ssllabs 缓存中没有结果,应用程序将因请求错误而关闭,或者无法解码响应,也会失败。
从源代码构建 SslScan
目前,构建 SslScan 的唯一方法是构建源代码。这是因为构建 SslScan 需要 rust-nightly。为什么需要 rust-nightly 呢?因为你可能会问这个问题。因为内置的 #[derive(RustcDeserialize)]
无法正确解析可选值(即不是总是存在的值)。这是从 ssllabs 读取所必需的部分,而且我觉得没有必要自己构建一个处理这个问题的反序列化器。
无论如何!让我们开始构建过程
安装 rust-nightly,并构建。我建议通过 rustup 安装(而不是将其设置为默认)
- 运行以下单行命令以安装 rustup:
curl https://sh.rustup.rs -sSf | sh
- 运行:
rustup install nightly
- 然后你可以通过以下方式构建项目:
rustup run nightly cargo build --release
.
然后你可以运行: RUST_LOG=info target/release/sslscan scan_new --host google.com
。
贡献
欢迎对这个项目做出贡献!在贡献之前,请阅读CONTRIBUTING.md
。
许可证
SslScan遵循MIT许可证。
依赖项
~9.5MB
~207K SLoC