15 releases
| 0.2.0 | Nov 19, 2025 |
|---|---|
| 0.1.3 | Dec 29, 2024 |
| 0.0.11 | Jul 10, 2023 |
| 0.0.10 | Jun 2, 2022 |
#4 in #mib
2,028 downloads per month
Used in snmp2
11KB
229 lines
snmptools
Unsafe Rust functions, based directly on net-snmp library for those, which are not Rust-native yet.
Methods:
- Converts SNMP OIDs to MIB names and vice-versa
Required crate features:
-
static (default) - compiles the binary with libnetsnmp.so dep or compile static lib inside (a bit faster)
-
dynamic - loads libnetsnmp.so or libnetsnmp.dylib dynamically (more cross-platform, not support windows system)
Example
Prepare the system
# Linux
apt-get install libsnmp-dev snmp-mibs-downloader
# MacOS
brew install net-snmp
use snmptools::{Oid};
snmptools::init(&snmptools::Config::new().mibs(&["./ibmConvergedPowerSystems.mib"])).unwrap();
let snmp_oid = Oid::from(&[1, 3, 6, 1, 4, 1, 2, 6, 201, 3]).unwrap();
let name = snmptools::get_name(&snmp_oid).unwrap();
assert_eq!(name, "IBM-CPS-MIB::cpsSystemSendTrap");
let snmp_oid2 = snmptools::get_oid(&name).unwrap();
assert_eq!(snmp_oid, snmp_oid2);
Dependencies
~1.6–2.4MB
~47K SLoC