如何读取 SNMP 变量绑定

How to read SNMP variable bindings

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

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

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

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

也许可以在网上找到这样的信息,看看 link 上的 XML 文件。