示例#1
7
<?php

$session_snmp = new SNMP(SNMP::VERSION_1, "192.168.0.180", "public");
$get_oid_humidade = $session_snmp->get("1.3.6.1.2.1.1.9.0");
echo "HUMIDADE > " . $get_oid_humidade;
$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);
function trigger(&$format_string)
{
    $session = new SNMP(SNMP::VERSION_3, "127.0.0.1", "public");
    // you MUST set exceptions_enabled in order to trigger this
    $session->exceptions_enabled = SNMP::ERRNO_ANY;
    try {
        $session->get($format_string);
    } catch (SNMPException $e) {
        return $e->getMessage();
    }
}
var_dump($session->getError());
$session->close();
echo "SET: Wrong type\n";
$session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
$session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
$oid1 = 'SNMPv2-MIB::sysContact.0';
var_dump(@$session->set($oid1, 'q', 'blah'));
var_dump($session->getErrno() == SNMP::ERRNO_OID_PARSING_ERROR);
var_dump($session->getError());
echo "SNMP::ERRNO_MULTIPLE_SET_QUERIES\n";
$oid1 = 'SNMPv2-MIB::sysContact.0';
$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;
$oldvalue1 = $session->get($oid1);
$newvalue1 = $oldvalue1 . '0';
$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->getErrno() == SNMP::ERRNO_MULTIPLE_SET_QUERIES);
var_dump($session->getError());
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->getErrno() == SNMP::ERRNO_MULTIPLE_SET_QUERIES);
var_dump($session->getError());
var_dump($session->get($oid1) === $oldvalue1);
var_dump($session->get($oid2) === $oldvalue2);
示例#6
-13
<?php

$session_snmp = new SNMP(SNMP::VERSION_1, "177.154.114.180", "public");
$get_iod_temperature = $session_snmp->get("1.3.6.1.2.1.1.8.0");
echo "TEMPERATURE >" . $get_iod_temperature;