提问人:Andreas 提问时间:11/16/2023 更新时间:11/16/2023 访问量:62
SNMP八位字节字符串,如何“解码”它?
SNMP octetstring, How do I "decode" it?
问:
我有一个宏,可以从工作中的所有打印机读取值。
有一个值我无法解码。
使用此代码
Set objSNMP = CreateObject("OlePrn.OleSNMP")
objSNMP.Open "10.158.110.8", "public", 2, 10000
Debug.Print objSNMP.get(".1.3.6.1.4.1.641.6.2.3.1.7.1")
我在即时窗口中得到这个:
ß 0
当我使用SNMPWalk时,我得到这个八位字节字符串:
OID=.1.3.6.1.4.1.641.6.2.3.1.7.1, Type=OctetString, Value= 07 DF 06 14 0D 30 0E 00 00 00 00 00
据我所知,纯文本中的值应该是,因为此 OID 是机器的安装日期。
根据打印机的webUI,即日期。2015-06-20
我试图找到如何使用MIB对其进行解码,但我找不到有关此值的任何信息。
https://infoserve.lexmark.com/ids/ifc/ids_topic.aspx?root=kb20211110015949938&topic=FA615&productCode=Lexmark_MX410&loc=en_IN
有人对解码八位字节字符串有任何提示吗?
答:
1赞
Lex Li
11/16/2023
#1
OCTET STRING
仅用于通过网络传递字节。您需要从 MIB 文档中了解实际的文本约定,这就是.1.3.6.1.4.1.641.6.2.3.1.7.1
deviceInstallDate OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The install date of the device. This information should be provided
by the attached device"
::= { deviceEntry 7 }
您应该按照以下规则解码数据,我在本文中写过。DateAndTime
评论
07 DF
2015
06
6
14
20
0D
13
30
48
0E
15