gossan-classify 0.3.3

Banner classification and service fingerprinting for Gossan
docs.rs failed to build gossan-classify-0.3.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: gossan-classify-0.3.2

gossan-classify

Banner classification and service fingerprinting for Gossan.

Takes raw TCP banner responses and classifies them into:

  • Service type (HTTP, SSH, FTP, MySQL, Redis, etc.)
  • Version extraction (Apache 2.4.52, OpenSSH 8.9, etc.)
  • OS hints from protocol behavior
  • Security posture signals (default creds, debug mode, info leaks)

Usage

use gossan_classify::BannerClassifier;

let c = BannerClassifier::new();
let matches = c.classify("Server: nginx/1.25.3\r\n");
for m in matches {
    println!("{}: {} (confidence {:.0}%)", m.rule_id, m.service, m.confidence * 100.0);
}

Extending

Built-in rules ship as Rust constants in src/rules.rs. Community rules load from a TOML directory at runtime, see the per-rule contract in GOSSAN_DEPTH.md Section B6 for the schema.

License

MIT