PySNMP是否支持Unicode发送snmptrap。我发送了带有unicode字符的陷阱,但是我得到了十六进制的结果。是否有任何工作来获取Unicode中的值。这里是我的snmp陷阱命令
苏丹诱捕器-v2c -c public 192.168.2.162‘.1.2.3.4.5.6.7.8.9 ifIndex I 2 ifAdminStatus I 1 1.3.6.1.4.1.9.9.599.1.1.1.1.0 s“विवेकसुवेदी”
但是用“विवेकसुवेदी”代替विवेकसुवेदी。有什么办法可以得到unicode吗?
发布于 2015-10-09 10:44:29
AFAIK,为了正确地呈现UTF-8字符串,MIB对象(1.3.6.1.4.1.9.9.599.1.3.1.1.1.0)应该输入为一些文本约定,显示- string =“255 t”,指示UTF-8字符串。
如果不是这样,SNMP将把它作为二进制字符串来处理,并且不会尝试正确地呈现它。如果不使用MIB解析(将纯ASN.1/SNMP类型转换为MIB定义的子类型)并处理纯ASN.1对象,也会发生同样的情况。
在后一种情况下,恶意解决方案是通过SNMP跳过.prettyPrint()-ing值,并通过.asOctets使用它们:
>>> print(OctetString(u'кириллица'.encode('utf-8')).asOctets())
кириллица这里的问题是,您可能必须以编程方式将此逻辑应用于特定的OIDs -这就是MIB设计的目的。;)
https://stackoverflow.com/questions/33034300
复制相似问题