如何输出snmp十六进制字符串

时间:2019-04-12 20:52:35

标签: python snimpy

当我尝试通过snmp从设备输出学习到的macs时,输出不符合预期。

我尝试了几件事,但碰壁了

from snimpy.manager import Manager as M, load, snmp
host = M(host=modem, community="public", version=2, timeout=1, retries=2)
  for i in host.dot1dTpFdbAddress:
    try:
      if 'learned' in str(host.dot1dTpFdbStatus[i]):
        maclearn.append(host.dot1dTpFdbAddress[i])
        port.append(host.dot1dTpFdbPort[i])
        status.append(host.dot1dTpFdbStatus[i])
        print("Mac:" + str(maclearn[o]) + " Port:" + str(port[o]) + " Status:" + str(status[o]))
        o = o + 1
    except snmp.SNMPException as detail:
      print ("Modem " + modem + " : " + str(detail))

此输出 这是调制解调器学习到的Mac:

Mac:b'\ x00 \ x0c)\ xf7 \ xb7s'端口:1状态:已学习(3)

但是,如果我在调制解调器中散步,macs会再回来这个

BRIDGE-MIB :: dot1dTpFdbAddress。'..).. s'=十六进制字符串:00 0C 29 F7 B7 73

因此,我试图使内容更具可读性和完整性,例如真实的mac地址,呵呵。

0 个答案:

没有答案