如何针对特定端口对FA-EXT-MIB::swSfpTxPower的OID执行SNMP Walk?
关于FA-EXT-MIB::swSfpTxPower的SNMP访问问题解答
1. 能否针对特定端口执行SNMP Walk?
完全可以!不过更准确地说,这个OID(1.3.6.1.4.1.1588.2.1.1.1.28.1.1.5)是一个表结构的OID,每个条目对应一个端口的发送功率。你可以直接指定包含端口索引的完整OID来获取单个端口的数据,也可以通过限定索引范围来Walk特定端口区间的内容。
2. 如何理解'....q.......'部分,能否用它引用单个端口?
那个看起来像乱码的'....q.......'其实是SNMP客户端无法解析的二进制索引值——这类索引通常是设备内部用来标识槽位、模块或者堆叠成员的标识。因为你的SNMP工具没有加载对应的FA-EXT-MIB文件,没法把这个二进制数据转换成人类可读的格式(比如槽号Slot1),所以就显示成了这种乱码形式。
好在所有条目里的这个二进制索引都是一致的,说明这些端口都属于同一个模块/槽位。你完全可以用这个字符串来引用单个端口,只需要在后面加上对应的端口号即可:
- 比如要获取端口1的发送功率,对应的完整OID是:
FA-EXT-MIB::swSfpTxPower.'....q.......'.1 - 用snmpget命令访问的示例如下:
snmpget -v2c -c your_community your_device_ip FA-EXT-MIB::swSfpTxPower."....q.......".1
如果你的SNMP工具不支持直接用这种乱码字符串,也可以尝试把这个二进制索引转换成十六进制格式(比如通过Wireshark抓包查看原始SNMP报文里的索引值),再用十六进制形式替换这个乱码部分。
另外,如果你把FA-EXT-MIB文件加载到你的SNMP客户端(比如snmpwalk/snmpget),这个二进制索引就会被自动转换成可读的标识,乱码问题也就解决了。
内容的提问来源于stack exchange,提问作者Andy Thompson
相关产品推荐
相关产品推荐

