Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.



Użytkownik
Witam
Mam za zadanie utworzyć program do zarządzania siecią. Mam mały problem z pobieraniem bazy MIB.
Aplikacja ma działać pod PHP zatem podczas wywołania snmpwalk() w php dostaję warning a jak wykonam snmpwalk w konsoli to dostaję bazę.
Może ktoś zna odpowiedź?
A może lepiej zastosować jakiś moduł z java lub coś z PERL?
Offline




matka przelozona
Zamiast MIB'ow uzywaj OID'ów i poinno wszystko grac ladnie :]
Przy snmpwalk() zwracana jest tablica assoscjacyjna przyklad:
$a = snmpwalk("ip.ip.ip.ip", "public", "transmission.127.1.3.3.1.1.1");
foreach ($a as $c)
{
print "$c\n";
}lub jak chesz sobie operwac na oid'ach bo np ostatni czlon cie interesuje :]
$a = snmpwalkoid("ip.ip.ip.ip", "public", "transmission.127.1.3.3.1.1.1");
for (reset($a); $i = key($a); next($a))
{
print "$i\n";
}no i chyba tyle w temacie A pdnane tu oidy sa fikcyjne
Offline



Użytkownik
Zgadza się tak jak zgodnie z dokumentacją.
Problem jest taki że zależności od urządzenia nie wszystkie dane są dostępne a nie które nawet jest kilka.
Dlatego potrzebuję podczas inicjalizacji pobrać dane i wiedzieć jakiego typu przechowują dane.
Udało mi się dojść do czegoś takiego:
<?php
$a = snmpwalkoid("192.168.3.100", "public", "system");
print_r ($a);
?>co daje mi
Array
(
[SNMPv2-MIB::sysDescr.0] => STRING: DrayTek Corporation
[SNMPv2-MIB::sysObjectID.0] => OID: SNMPv2-SMI::enterprises.7367
[DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (4572827) 12:42:08.27
[SNMPv2-MIB::sysContact.0] => STRING: info@draytek.com
[SNMPv2-MIB::sysName.0] => STRING: vigor
[SNMPv2-MIB::sysLocation.0] => STRING:
[SNMPv2-MIB::sysServices.0] => INTEGER: 78
)wie ktoś może jak wyciągnąć z tego coś takiego:
SNMP2:sysDescr:STRING .....
Dzięki za pomoc.
Offline