PHP SNMP Real Walk返回错误字符
我通过PHP函数snmp2_real_walk OID value'.1.3.6.1.2.1.17.4.3.1.1'读取从Cisco交换机设备获取MAC地址。问题是,一些结果(随机地在200个结果中的50个左右)返回错误字符(但如果我只读取MAC地址,我发现了一个错误)。即: 正确的输出示例:PHP SNMP Real Walk返回错误字符,php,encoding,snmp,Php,Encoding,Snmp,我通过PHP函数snmp2_real_walk OID value'.1.3.6.1.2.1.17.4.3.1.1'读取从Cisco交换机设备获取MAC地址。问题是,一些结果(随机地在200个结果中的50个左右)返回错误字符(但如果我只读取MAC地址,我发现了一个错误)。即: 正确的输出示例: [DOT1DTPFDBADRES]=>30 05 5C 38 A7 8C [DOT1DTPFDBADRES]=>C07B BC 0E 56 18 错误的输出示例: [DOT1DTPFDBADRES]
- [DOT1DTPFDBADRES]=>30 05 5C 38 A7 8C
- [DOT1DTPFDBADRES]=>C07B BC 0E 56 18
- [DOT1DTPFDBADRES]=>,v�?.(十六进制转储:0:20 2c 76 8a 3f 2e 62 20[,v.?.b])
- [DOT1DTPFDBADRES]=>,A8��7(十六进制转储:0:20 2c 41 38 82 d9 37 20[,A8..7])
- [DOT1DTPFDBADRES]=>xE�\ � (六角卸载:0:20 78 45 c4 2a 5c 20 d9 20[xE.\.]
- PHP-技术snmp2\u real\u walk by snmprealwalk
- 更改了文件的编码(UTF8,ANSI)
- SNMP超时时间更长,请尝试添加PHP sleep()函数
- PHP指令:snmp\u set\u oid\u numeric\u print(1)
- PHP指令:snmp\u set\u quick\u print(true)
- PHP指令:snmp\u set\u enum\u print(true)
- PHP指令:snmp\u集合\u值检索(snmp\u值\u库和snmp\u值\u平原)
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
- PHP版本5.5.3
- Apache/2.4.4(Win32)OpenSSL/1.0.1e PHP/5.5.3
- 指示灯等同于WAMP(也有错误)
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
MIB被正确导入Apache服务器,设备看起来很好
PHP中有没有一种方法可以将snmp2\u real\u walk()的所有返回值都写成十六进制字符串?
*类似问题(无结果):
- *
Petr使用以下配置:
snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
snmp_set_quick_print(1);
snmp_set_enum_print(0);
您好,很遗憾,您的代码输出不起作用。我再次尝试了不同的价值观,但没有成功。代码输出示例:
[iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.31]=>“00 E0 D8 12 2F 30”[iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.33]=>“x��ɱ“[iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.34]=>“00 25 B3 F8 A3 43”[iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.64]=>”�U�" [iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.66]=>“00 24 81 A0 10 14”