RUST-SNMP

Dependency-free basic SNMPv2 client in Rust.

Suppports:

Currently does not support:

TODO

Examples

GET NEXT

```rust use std::time::Duration; use snmp::{SyncSession, Value};

let sysdescroid = [1,3,6,1,2,1,1,1,]; let agentaddr = "198.51.100.123:161"; let community = b"f00b4r"; let timeout = Duration::fromsecs(2);

let mut sess = SyncSession::new(agentaddr, community, Some(timeout), 0).unwrap(); let mut response = sess.getnext(&sysdescroid[..]).unwrap(); if let Some((oid, Value::OctetString(sysdescr))) = response.varbinds.next() { println!("myrouter sysDescr: {}", String::fromutf8lossy(sysdescr)); } ```

GET BULK

```rust use std::time::Duration; use snmp::SyncSession;

let systemoid = [1,3,6,1,2,1,1,]; let agentaddr = "[2001:db8:f00:b413::abc]:161"; let community = b"f00b4r"; let timeout = Duration::fromsecs(2); let nonrepeaters = 0; let max_repetitions = 7; // number of items in "system" OID

let mut sess = SyncSession::new(agentaddr, community, Some(timeout), 0).unwrap(); let response = sess.getbulk(&[&systemoid[..]], nonrepeaters, maxrepetitions).unwrap();

for (name, val) in response.varbinds { println!("{} => {:?}", name, val); } ```