#protocols #ietf-rfc #snmp #management #rasn #safe #data

rasn-snmp

处理简单网络管理协议的数据类型

41个版本 (13个重大更新)

0.16.5 2024年8月23日
0.16.0 2024年7月17日
0.13.1 2024年3月21日
0.12.4 2023年12月4日
0.3.1 2021年7月19日

#493 in 网络编程

Download history 2277/week @ 2024-05-02 1160/week @ 2024-05-09 2108/week @ 2024-05-16 1709/week @ 2024-05-23 1437/week @ 2024-05-30 1597/week @ 2024-06-06 1893/week @ 2024-06-13 2237/week @ 2024-06-20 1661/week @ 2024-06-27 1275/week @ 2024-07-04 1433/week @ 2024-07-11 2314/week @ 2024-07-18 1751/week @ 2024-07-25 1603/week @ 2024-08-01 1064/week @ 2024-08-08 1528/week @ 2024-08-15

每月6,455次下载

MIT/Apache

750KB
18K SLoC

简单网络管理协议

rasn-snmp 实现了来自IETF RFC 1157、1901、3412和3416的协议数据类型。这并不提供一个代理或代理的实现,但提供了构建自己的代理或代理实现所需的数据类型。

该库与其兄弟crate(rasnrasn-smirasn-mib)结合使用,允许您使用完全安全的Rust解码和编码SNMP协议消息。所有这些库也是 #[no_std],因此支持任何支持 alloc 的平台。

use rasn_snmp::{v2c::Message, v2::Pdus};

let data: &[u8] = &[];

// Decode SNMPv2c message containing a SNMPv2 PDU.
let message: Message<Pdus> = rasn::ber::decode(data).unwrap();

// Handle the request.
match message.data {
    Pdus::GetRequest(request) => {},
    Pdus::GetNextRequest(request) => {},
    Pdus::Response(request) => {},
    // ...
# _ => {}
}

依赖项

~6.5MB
~128K SLoC