如何解析从FC交换机到OID的MIB输出?

2024-05-20 17:33:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从FC交换机表中查找特定的WWN地址,以便获取端口ID并更改管理状态(我已经有WWN地址)。 我使用SNMP返回WWN表,并得到如下输出:

      In [39]: netsnmp.snmpwalk('.1.3.6.1.4.1.9.9.297.1.1.16.1.2',Version = 2,DestHost = 'lab-fc',Community = 'public')

      Out[39]:('P\x01C\x80\x18j\xc3\x88\x10\x08\x00\x01')

如何将此输出转换为OID编号?在


Tags: 端口inidversion状态地址labnetsnmp
1条回答
网友
1楼 · 发布于 2024-05-20 17:33:34

netsnmp库将返回一个八位字节字符串,它本质上是二进制的。根据端口ID的Cisco definition,前8个字节是WWN。在

import netsnmp
import struct
import binascii

portid = netsnmp.snmpwalk('.1.3.6.1.4.1.9.9.297.1.1.16.1.2',Version = 2,DestHost = 'lab-fc',Community = 'public')
print ''.join(binascii.hexlify(i) for i in struct.unpack_from('cccccccc', s))

输出

^{pr2}$

这看起来像是正确的WWN吗?在

相关问题 更多 >