|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull Requests |
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 16:00:01 2025 UTC |
Description: ------------ When performing a walk on dot1dTpFdbAddress (.1.3.6.1.2.1.17.4.3.1.1) with an HP Procurve switch (it's a bridge between the port and the mac address table), I believe the PHP SNMP module is interpreting the response incorrectly when a backslash is in the OID. I'm not sure how the dot1dTpFdbAddress 'names' are created or what exactly they represent, but in this case, it appears if the 'name' includes a backslash, PHP is assigning the name as the value. I'm guessing it's an incorrect regex. This is the first time I've run into this issue, so I think it's rare. I've tried various output options (quick_print, enum_print, output_format and valueretrieval), but the value doesn't change. I've tried both PHP versions 7.0.27 and 7.2.1 Test script: --------------- # Command line snmpwalk command % snmpwalk -v 2c -c public switch1 .1.3.6.1.2.1.17.4.3.1.1 BRIDGE-MIB::dot1dTpFdbAddress.'lbmP\=' = STRING: 6c:62:6d:50:5c:3d BRIDGE-MIB::dot1dTpFdbAddress.'l.....' = STRING: 6c:f3:7f:c6:88:d6 BRIDGE-MIB::dot1dTpFdbAddress.'pM{&..' = STRING: 70:4d:7b:26:e3:4 BRIDGE-MIB::dot1dTpFdbAddress.'pZ....' = STRING: 70:5a:f:12:a2:11 # PHP either OOP or procedural $snmp = new \SNMP(SNMP::VERSION_2c, 'switch1', 'public'); $snmp->walk('.1.3.6.1.2.1.17.4.3.1.1'); # or snmp2_real_walk('switch1', 'public', '.1.3.6.1.2.1.17.4.3.1.1'); [SNMPv2-SMI::mib-2.17.4.3.1.1.108.98.109.80.92.61] => STRING: "lbmP\\=" [SNMPv2-SMI::mib-2.17.4.3.1.1.108.243.127.198.136.214] => Hex-STRING: 6C F3 7F C6 88 D6 [SNMPv2-SMI::mib-2.17.4.3.1.1.112.77.123.38.227.4] => Hex-STRING: 70 4D 7B 26 E3 04 [SNMPv2-SMI::mib-2.17.4.3.1.1.112.90.15.18.162.17] => Hex-STRING: 70 5A 0F 12 A2 11 Expected result: ---------------- The first output in the example should return a MAC address, not lbmP\\=