我通过PHP函数读取snmp2_real_walk OID值'.1.3.6.1.2.1.17.4.3.1.1'以从Cisco交换机设备获取MAC地址。问题是,一些结果(随机地围绕200的50个结果)返回坏字符(但如果我只读取MAC地址,我发现了一个错误)。即:
正确的输出示例:
错误的输出示例:
如果我尝试从程序Getif读取OID'.1.3.6.1.2.1.17.4.3.1.1',我得到了正确的结果。
我找不到解决这个问题的方法 - 你能帮我吗?
未通过测试的解决方案
关于服务器:
新的重要信息:
Device return randomly none-hex value for hex values, ie.:
[iso.3.6.1.2.1.17.4.3.1.1.92.38.10.129.123.27] => Hex-STRING: 5C 26 0A 81 7B 1B
[iso.3.6.1.2.1.17.4.3.1.1.120.69.196.42.25.241] => Hex-STRING: 78 45 C4 2A 19 F1
[iso.3.6.1.2.1.17.4.3.1.1.120.69.196.42.27.169] => Hex-STRING: 78 45 C4 2A 1B A9
[iso.3.6.1.2.1.17.4.3.1.1.120.69.196.42.34.45] => STRING: "xE�*\"-"
[iso.3.6.1.2.1.17.4.3.1.1.120.172.192.142.199.214] => STRING: "x�����"
[iso.3.6.1.2.1.17.4.3.1.1.124.30.179.254.9.201] => Hex-STRING: 7C 1E B3 FE 09 C9
Mibs正确导入Apache服务器,设备看起来很好。
有没有办法在PHP中如何为snmp2_real_walk()写入所有返回的值为Hex-STRING?
*类似问题(没有结果):
谢谢和最诚挚的问候, 彼得
答案 0 :(得分:0)
使用以下配置:
snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
snmp_set_quick_print(1);
snmp_set_enum_print(0);