我正在尝试使用 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 名称吗?如何?
谢谢和对不起我的英语。