|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-06-06 07:45 UTC] lytboris@php.net
-Status: Open
+Status: Feedback
[2016-06-06 07:45 UTC] lytboris@php.net
[2016-06-06 07:49 UTC] lytboris@php.net
-Assigned To:
+Assigned To: lytboris
[2016-06-19 04:22 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 22:00:01 2025 UTC |
Description: ------------ I read via PHP function snmp2_real_walk OID value '.1.3.6.1.2.1.17.4.3.1.1' for get MAC address from Cisco switch device. Problem is, that some results (randomly around the 50 results of the 200) return bad characters (yet I have found a mistake if I read only MAC addresses). Ie.: correct output examples: [Dot1dTpFdbAddres] => 30 05 5C 38 A7 8C [Dot1dTpFdbAddres] => C0 7B BC 0E 56 18 wrong output examples - 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 If I try read OID '.1.3.6.1.2.1.17.4.3.1.1' from program Getif, I have got correct results. The tested solution that fails: PHP - Chnaged snmp2_real_walk by snmprealwalk Changed encoding of files (UTF8, ANSI) SNMP longer timeout and try add PHP sleep() function PHP directive: snmp_set_oid_numeric_print(1) PHP directive: snmp_set_quick_print(true) PHP directive: snmp_set_enum_print(true) PHP directive: snmp_set_valueretrieval(SNMP_VALUE_LIBRARY and SNMP_VALUE_PLAIN) Resolution - add new parameter for: snmprealwalk snmp2_real_walk for forced return Hex-STRING result. Test script: --------------- $arrDot1dTpFdbAddress = snmprealwalk("SomeIp:161", "ReadCommunity", ".1.3.6.1.2.1.3.1.1.2", (1000000 * 1), 3); echo '<pre>'; print_r($arrDot1dTpFdbAddress); echo '</pre>';