Я прочитал через PHP функцию snmp2_real_walk значение OID ‘.1.3.6.1.2.1.17.4.3.1.1’ для получения MAC-адреса от устройства коммутатора Cisco. Проблема в том, что некоторые результаты (случайным образом из 50 результатов из 200) возвращают плохие символы (но я обнаружил ошибку, если читаю только MAC-адреса). Т.е .:
правильные примеры вывода:
неправильные примеры вывода:
Если я попытаюсь прочитать OID ‘.1.3.6.1.2.1.17.4.3.1.1’ из программы Getif, я получу правильные результаты.
Я не могу найти решение этой проблемы — не могли бы вы мне помочь?
Проверенное решение, которое не удалось
О сервере:
Новая важная информация:
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?
* Подобные проблемы (без результатов):
Спасибо и всего наилучшего,
Petr
Используйте следующую конфигурацию:
snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
snmp_set_quick_print(1);
snmp_set_enum_print(0);
Других решений пока нет …