【发布时间】:2012-08-28 02:20:30
【问题描述】:
我正在尝试使用 snmpwalk 在 python 中创建一个脚本,以获取连接到我的交换机的当前设备以及它们使用的端口(我获取 MAC 地址,然后,使用我拥有的数据库,我将转换为IP 或主机名)。
嗯,一切正常,但我意识到此信息的 OID 编号在某些开关之间会发生变化。
我正在尝试获取此 OID:1.3.6.1.2.1.17.4.3.1.2
这很好,我得到了 MAC 和端口号。
但在我的一些开关中是这个:1.3.6.1.2.1.17.7.1.2.2 其他的是:1.3.6.1.2.1.17.4.3.1.2
我对此感到很困惑,我想知道我是否在寻找 OID 号码而不是名称方面做得很好。无论如何,我尝试使用某些名称(sysUpTime 等)查找信息,但 snmpwalk 不适用于名称(至少,它对我不起作用,我不确定我必须使用哪个名称来获取此信息)。例如,我试过:
$ snmpwalk -v 1 -c public sea-kmSwitch dot1dTpFdbPort
dot1dTpFdbPort: Unknown Object Identifier (Sub-id not found: (top) -> dot1dTpFdbPort)
我知道 python 中有 snmp 模块,但我没有找到好的文档和示例(pysnmp、pynetsnmp),所以我尝试使用 linux 命令来编写脚本。
所以,问题是:我如何知道我必须获得哪个 OID 号码?我可以使用任何 OID 名称吗?以及如何?
感谢和抱歉我的英语。
【问题讨论】: