1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| extern crate snmp;
fn getoid(a :u32, b :u32, c : u32, d : u32, e : u32, f : u32, g : u32, h : u32, i : u32, j : u32, k : u32, l : u32, m : u32 ){
use std::time::Duration;
use snmp::SyncSession;
use snmp::Value;
let col = if m==1 {"A"} else if m==2 {"B"} else if m==3 {"C"} else {"D"};
let sys_descr_oid = &[a,b,c,d,e,f,g,h,i,j,k,l,m,];
let agent_addr = "192.168.5.5:161";
let community = b"public";
let timeout = Duration::from_secs(2);
let mut sess = SyncSession::new(agent_addr, community, Some(timeout), 0).unwrap();
let response = sess.get(sys_descr_oid).unwrap();
//le résultat est un enum Value.
for (_name, value) in response.varbinds {
println!("{} => {:?}", col, value);
};
}
fn main() {
println!("Et le résultat est:");
getoid(1,3,6,1,2,1,43,11,1,1,9,1,1);
getoid(1,3,6,1,2,1,43,11,1,1,9,1,2);
getoid(1,3,6,1,2,1,43,11,1,1,9,1,3);
getoid(1,3,6,1,2,1,43,11,1,1,9,1,4);
} |
Partager