15 releases (breaking)

0.11.0 Feb 10, 2025
0.10.0 Feb 29, 2024
0.9.0 Mar 15, 2023
0.8.0 Sep 13, 2021
0.1.0 May 8, 2018

#1237 in Parser implementations

Download history 6523/week @ 2024-10-30 4375/week @ 2024-11-06 5047/week @ 2024-11-13 6424/week @ 2024-11-20 7241/week @ 2024-11-27 8954/week @ 2024-12-04 6135/week @ 2024-12-11 5031/week @ 2024-12-18 1980/week @ 2024-12-25 5659/week @ 2025-01-01 8245/week @ 2025-01-08 7224/week @ 2025-01-15 8455/week @ 2025-01-22 6742/week @ 2025-01-29 5103/week @ 2025-02-05 4783/week @ 2025-02-12

26,535 downloads per month
Used in suricata

MIT/Apache

45KB
771 lines

License: MIT Apache License 2.0 Build Status Crates.io Version

SNMP Parser

A SNMP parser, implemented with the nom parser combinator framework.

The goal of this parser is to implement SNMP messages analysis, for example to use rules from a network IDS.

To read a message, different functions must be used depending on the expected message version. The main functions for parsing are parse_snmp_v1, parse_snmp_v2c and parse_snmp_v3. If you don't know the version of the message and want to parse a generic SNMP message, use the parse_snmp_generic_message function.

The code is available on Github and is part of the Rusticata project.

Changes

0.11.0

  • Update asn1-rs to 0.7
  • Update thiserror to 2.0
  • Fix clippy warnings: elided lifetime has a name
  • Use #[from] instead of From impl for asn1 error
  • Re-export Oid and OidParseError
  • Fix renamed lint
  • Implement FromBer for all top-level messages

Thanks: @MattesWhite

0.10.0

  • Update asn1-rs to 0.6

0.9.0

  • Convert to asn1-rs
  • Set MSRV to 1.57

0.8.0

  • Upgrade to nom 7 / der-parser 6

0.7.0

  • Upgrade to nom 6 / der-parser 5

0.6.0

  • Upgrade to der-parser 4

0.5.2

  • Use parse_ber_u32 from der-parser crate

0.5.1

  • Fix parsing: use BER parsing so DER constraints are not applied

0.5.0

  • Upgrade to nom 5 and der-parser 3

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~1.5–2.3MB
~45K SLoC