【问题标题】:How to read SNMP variable bindings如何读取 SNMP 变量绑定
【发布时间】:2017-07-03 22:42:26
【问题描述】:

我正在尝试制作一个 snmp 陷阱接收器,它可以捕获来自 UDP 162 端口的所有传入 snmp 陷阱并将它们转换为有意义的警报。我附上的图像是我使用 wireshark 捕获的示例陷阱。

我的脚本可以捕获和解析数据包的所有不同部分,但我卡在了变量绑定部分。我不确定如何将此部分重新呈现为一些用户友好的信息(我可以在用户界面中显示)。我怎么知道这些序列正在发送一些令人震惊的东西,或者只是一些关于代理节点的一般信息?这些序列是各自独立的信息还是它们共同构成一条信息?

【问题讨论】:

    标签: snmp


    【解决方案1】:

    与任何传入数据一样,了解您获得的信息类型很重要。 SNMP 陷阱的变量绑定基本上是分层数据。每个对象或元素都代表它自己的数据。如果您取第一个元素 (1.3.6.1.2.1.1.3.0),您会发现其中包含 sysUpTime(请参阅link),这是非常通用的。

    大多数其他元素似乎以 1.3.6.1.4.1.4421 开头,这似乎是来自特定供应商的对象; Santera 系统(请参阅link)。您可能想尝试联系他们以获取他们的 MIB(管理信息库),其中应详细说明这些字段中显示的数据类型。

    可能会在网上找到这样的信息,请查看link 上的 XML 文件。

    【讨论】:

    • 我有他们的 MIB 文件,我还从 MIB 文件中提取了所有 OID。但是,我如何知道陷阱是一般信息还是故障?我可能可以通过名称猜到,但我的脚本怎么知道?供应商之间有区别吗?还是有一般的方法? (例如,所有带有特定前缀的 OID 都是关键的)
    • 一旦您输入特定的 MIB 文件,这几乎取决于供应商的喜好。据我所知,没有关于如何在您自己的 MIB 中订购信息的一般规则。
    • 话虽如此,除非供应商完全是白痴,否则信息通常是有序的,基本上是因为等级性质的排序强制了这一点。所以任何归类在 1.3.6.1.4.1.4421.2.1.2.2.1 下的东西都可能是所有相关的信息。
    猜你喜欢
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 2023-01-30
    • 1970-01-01
    相关资源
    最近更新 更多