есть такой кусок:$mib = "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan";
$a = snmpwalk($ip, "public", $mib);
for ($i=0; $i < count($a); $i++) {
print $a;
}Выполняется что-то вида snmpwalk -v 2c -c public $ip $mib
Здесь все понятно и на выходе я вижу значения snmp запроса в виде номеров портов.
Вопрос в следующем, как я могу получить в выводе весь $mib целиком, так как после последовательности "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan" следуют MACи в DEC которые мне нужны?
Заранее огромное спасибо за помощь!!!
>[оверквотинг удален]
> for ($i=0; $i < count($a); $i++) {
> print $a;
> }
> Выполняется что-то вида snmpwalk -v 2c -c public $ip $mib
> Здесь все понятно и на выходе я вижу значения snmp запроса в
> виде номеров портов.
> Вопрос в следующем, как я могу получить в выводе весь $mib целиком,
> так как после последовательности "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan" следуют MACи в DEC
> которые мне нужны?
> Заранее огромное спасибо за помощь!!!что значит "целиком" ?
>[оверквотинг удален]
>> print $a;
>> }
>> Выполняется что-то вида snmpwalk -v 2c -c public $ip $mib
>> Здесь все понятно и на выходе я вижу значения snmp запроса в
>> виде номеров портов.
>> Вопрос в следующем, как я могу получить в выводе весь $mib целиком,
>> так как после последовательности "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan" следуют MACи в DEC
>> которые мне нужны?
>> Заранее огромное спасибо за помощь!!!
> что значит "целиком" ?В виде:
1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec = Integer XX, а не только массив из "Integer XX"
> В виде:
> 1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec = Integer XX, а не только массив из "Integer
> XX"ммм что то я не припомню чтобы по snmp отдавались массивы - каждая ветка MIB имеет вполне определенный тип - string, integer и т.д.
1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan
1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec
это как бы разные значения - объедененные иерархией дерева MIB
о каком массиве речь?
>> В виде:
>> 1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec = Integer XX, а не только массив из "Integer
>> XX"
> ммм что то я не припомню чтобы по snmp отдавались массивы -
> каждая ветка MIB имеет вполне определенный тип - string, integer и
> т.д.
> 1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan
> 1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec
> это как бы разные значения - объедененные иерархией дерева MIB
> о каком массиве речь?php выполняет snmpwalk, который, от заданного корня, в данном случае "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan", вниз по дереву последовательно снимает значения MIBов "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec", получает с каждого MIBа значение типа "Integer: XX", и помещает их в массив @a["Integer: 1", "Integer: 2",... и т.д.].
Я получаю в @a только массив из возвращаемых значений, а мне еще нужно получить массив из выполняемых MIBов, этих самых "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec". Хотелось бы знать можно ли это решить средствами php.
> php выполняет snmpwalk, который, от заданного корня, в данном случае "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan",
> вниз по дереву последовательно снимает значения MIBов "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec",
> получает с каждого MIBа значение типа "Integer: XX", и помещает их
> в массив @a["Integer: 1", "Integer: 2",... и т.д.].
> Я получаю в @a только массив из возвращаемых значений, а мне еще
> нужно получить массив из выполняемых MIBов, этих самых "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec".
> Хотелось бы знать можно ли это решить средствами php.эти самые называются OID, множество OID есь MIB
это не поможет:
http://www.php.net/manual/en/function.snmpwalkoid.php
Returns an associative array with object ids and their respective object value starting from the object_id as root or FALSE on error.
>[оверквотинг удален]
>> получает с каждого MIBа значение типа "Integer: XX", и помещает их
>> в массив @a["Integer: 1", "Integer: 2",... и т.д.].
>> Я получаю в @a только массив из возвращаемых значений, а мне еще
>> нужно получить массив из выполняемых MIBов, этих самых "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec".
>> Хотелось бы знать можно ли это решить средствами php.
> эти самые называются OID, множество OID есь MIB
> это не поможет:
> http://www.php.net/manual/en/function.snmpwalkoid.php
> Returns an associative array with object ids and their respective object value
> starting from the object_id as root or FALSE on error.Спасибо за поправку и за подсказку. Я немного запутался в терминологии. Я рассматривал такой вариант, но тогда скрипт получится немного громоздким. Мне идеально подходит формат OID "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec = Integer: XX". Т.к в данном случае я сразу могу получить и значение для переменной $MacInDec и $Port = "Integer: XX", которыми я могу манипулировать в дальнейшем.
>[оверквотинг удален]
>> это не поможет:
>> http://www.php.net/manual/en/function.snmpwalkoid.php
>> Returns an associative array with object ids and their respective object value
>> starting from the object_id as root or FALSE on error.
> Спасибо за поправку и за подсказку. Я немного запутался в терминологии. Я
> рассматривал такой вариант, но тогда скрипт получится немного громоздким. Мне идеально
> подходит формат OID "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec = Integer: XX". Т.к
> в данном случае я сразу могу получить и значение для переменной
> $MacInDec и $Port = "Integer: XX", которыми я могу манипулировать в
> дальнейшем.Есть еще вариант использовать snmprealwalk, но я пока не могу разобраться с выводом, там получается на выходе массив элементы которого являются массивами.
>[оверквотинг удален]
>>> Returns an associative array with object ids and their respective object value
>>> starting from the object_id as root or FALSE on error.
>> Спасибо за поправку и за подсказку. Я немного запутался в терминологии. Я
>> рассматривал такой вариант, но тогда скрипт получится немного громоздким. Мне идеально
>> подходит формат OID "1.3.6.1.2.1.17.7.1.2.2.1.2.$vlan.$MacInDec = Integer: XX". Т.к
>> в данном случае я сразу могу получить и значение для переменной
>> $MacInDec и $Port = "Integer: XX", которыми я могу манипулировать в
>> дальнейшем.
> Есть еще вариант использовать snmprealwalk, но я пока не могу разобраться с
> выводом, там получается на выходе массив элементы которого являются массивами.$a = snmpwalkoid($ip, "public", $mib);
foreach ( $a as $key => $value ) {
echo $key . $value . "<br/>";
}В $key и хранятся значения, которые необходимы.