$oid1 = 'SNMPv2-MIB::sysContact.0';
$oldvalue1 = $session->get($oid1);
$newvalue1 = $oldvalue1 . '0';
$z = $session->set($oid1, 's', $newvalue1);
var_dump($z);
var_dump($session->get($oid1) === $newvalue1);
$z = $session->set($oid1, 's', $oldvalue1);
var_dump($z);
var_dump($session->get($oid1) === $oldvalue1);
var_dump($session->close());
echo "Multiple OID with max_oids = 1\n";
$oid2 = 'SNMPv2-MIB::sysLocation.0';
$session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
$session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
$session->max_oids = 1;
$oldvalue2 = $session->get($oid2);
$newvalue2 = $oldvalue2 . '0';
$z = $session->set(array($oid1, $oid2), array('s', 's'), array($newvalue1, $newvalue2));
var_dump($z);
var_dump($session->get($oid1) === $newvalue1);
var_dump($session->get($oid2) === $newvalue2);
$z = $session->set(array($oid1, $oid2), array('s', 's'), array($oldvalue1, $oldvalue2));
var_dump($z);
var_dump($session->get($oid1) === $oldvalue1);
var_dump($session->get($oid2) === $oldvalue2);
var_dump($session->close());
echo "SNMPv3, setting contextEngineID (authPriv)\n";
$session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
$session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass, '', 'aeeeff');
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->close());
} catch (SNMPException $e) {
    var_dump($e->getCode());
    var_dump($e->getMessage());
}
$session->exceptions_enabled = SNMP::ERRNO_ANY;
try {
    var_dump($session->get('.1.3.6.1.2.1.1.1..0'));
} catch (SNMPException $e) {
    var_dump($e->getCode());
    var_dump($e->getMessage());
}
var_dump($session->close());
echo "Open normal session\n";
$session = new SNMP(SNMP::VERSION_3, $hostname, $user_noauth, $timeout, $retries);
$session->valueretrieval = 67;
var_dump($session->valueretrieval);
echo "Closing session\n";
var_dump($session->close(''));
var_dump($session->close());
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->close());
$session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
var_dump($session->walk('.1.3.6.1.2.1.1', FALSE, ''));
var_dump($session->walk('.1.3.6.1.2.1.1', FALSE, 30, ''));
var_dump($session->get());
var_dump($session->getnext());
var_dump($session->set());
var_dump($session->max_oids);
$session->max_oids = "ttt";
$session->max_oids = 0;
var_dump($session->max_oids);
Exemple #3
0
 /**
  * Executes PHP 5.4 SNMP set interface
  * 
  * @param string $ip
  * @param string $community
  * @param array  $data
  * @return string
  */
 protected function snmpSetClass($ip, $community, $data)
 {
     $result = '';
     if (!empty($data)) {
         if (is_array($data)) {
             foreach ($data as $io => $each) {
                 if (isset($each['oid']) and (isset($each['type']) and isset($each['value']))) {
                     $session = new SNMP(SNMP::VERSION_2c, $ip, $community, $this->timeoutNative, $this->retriesNative);
                     @($pushResult = $session->set($each['oid'], $each['type'], $each['value']));
                     $session->close();
                     if ($pushResult) {
                         $result .= trim($this->snmpWalkClass($ip, $community, $each['oid'], false)) . "\n";
                     }
                 } else {
                     throw new Exception(self::EX_WRONG_DATA);
                 }
             }
         } else {
             throw new Exception(self::EX_WRONG_DATA);
         }
     }
     return $result;
 }