<?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;
} 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);
$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());
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(); } }
function run() { if (!extension_loaded('snmp')) { install(); exit; } if (!class_exists("SNMP")) { exit; } $session = new SNMP(SNMP::VERSION_1, "127.0.0.1:3401", "public"); $session->valueretrieval = SNMP_VALUE_PLAIN; $ifDescr = $session->walk(".1.3.6.1.4.1.3495", TRUE); // $session->valueretrieval = SNMP_VALUE_LIBRARY; // $ifType = $session->walk(".1.3.6.1.4.1.3495.1.3", TRUE); // 2.2.1.10.5 print_r($ifDescr); }
function run() { if (!extension_loaded('snmp')) { install(); exit; } if (!class_exists("SNMP")) { exit; } $session = new SNMP(SNMP::VERSION_1, "127.0.0.1:3401", "public"); $session->valueretrieval = SNMP_VALUE_PLAIN; $ifDescr = $session->walk(".1.3.6.1.4.1.3495.1.3", TRUE); $session->valueretrieval = SNMP_VALUE_LIBRARY; $ifType = $session->walk(".1.3.6.1.4.1.3495.1.3", TRUE); // 2.2.1.10.5 print_r($ifType); $result = array(); foreach ($ifDescr as $i => $n) { $result[$n] = $ifType[$i]; } print_r($result); }
function testNET_SNMP_SNMP() { // // SNMP // $SNMP = new SNMP(); $SNMP->Connect(SNMP_AGENT_IP, null, "public"); // GetTree $retval = $SNMP->GetTree(".1.3.6.1.2.1.25.2.3.1.6"); $this->assertTrue(is_array($retval), "SNMP->GetAll() returned array"); // Get $retval = $SNMP->Get("system.sysDescr.0"); $this->assertTrue(is_string($retval), "SNMP->Get() returned string"); // Get $retval = $SNMP->Get(".1.3.6.1.2.1.6.13.1.1.0.0.0.0.80.0.0.0.0.0"); $this->assertTrue(is_string($retval), "SNMP->Get() returned string"); // Get $retval = $SNMP->Get(".1.3.6.1.2.1.6.13.1.1.0.0.0.0.3306.0.0.0.0.0"); $this->assertTrue(is_string($retval), "SNMP->Get() returned string"); }
function proxy_snmp() { $SNMP_WALK["PERC_CACHE"] = 0; $SNMP_WALK["REQUESTS"] = 0; $SNMP_WALK["CPU"] = 0; if (!extension_loaded('snmp')) { $SNMP_WALK["ERROR"] = true; return $SNMP_WALK; } $sock = new sockets(); $SquidSNMPPort = intval($sock->GET_INFO("SquidSNMPPort")); $SquidSNMPComunity = $sock->GET_INFO("SquidSNMPComunity"); if ($SquidSNMPPort == 0) { $SquidSNMPPort = 3401; } if ($SquidSNMPComunity == null) { $SquidSNMPComunity = "public"; } if (!class_exists("SNMP")) { $SNMP_WALK["ERROR"] = false; return $SNMP_WALK; } $session = new SNMP(SNMP::VERSION_1, "127.0.0.1:{$SquidSNMPPort}", $SquidSNMPComunity); $session->valueretrieval = SNMP_VALUE_PLAIN; $ifDescr = $session->walk(".1.3.6.1.4.1.3495.1", TRUE); $SNMP_WALK["PERC_CACHE"] = intval($ifDescr["3.2.2.1.10.5"]); $SNMP_WALK["REQUESTS"] = intval($ifDescr["3.2.1.1.0"]); $SNMP_WALK["CPU"] = intval($ifDescr["3.1.5.0"]); $SNMP_WALK["STORED_OBJECTS"] = intval($ifDescr["3.1.7.0"]); $SNMP_WALK["CLIENTS_NUMBER"] = intval($ifDescr["3.2.1.15.0"]); $SNMP_WALK["ERROR"] = false; return $SNMP_WALK; }
/** * Set path to SNMPtrap binary * * @param string $path */ public static function SetSNMPTrapPath($path) { self::$SNMPTrapPath = $path; }
<?php require_once dirname(__FILE__) . '/snmp_include.inc'; $hostname = "php.net"; $ip = gethostbyname($hostname); if (ip2long($ip) === FALSE) { echo "Could not resolve {$hostname} properly!\n"; exit(1); } $port = 1161; $session = new SNMP(SNMP::VERSION_1, "{$hostname}:{$port}", $community, $timeout, $retries); $info = $session->info; if (strcmp($info["hostname"], "{$ip}:{$port}") !== 0) { echo "'" . $info["hostname"] . "' != '{$ip}:{$port}'\n"; } var_dump($session->close());
/** * 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; }
<?php require_once dirname(__FILE__) . '/snmp_include.inc'; //EXPECTF format is quickprint OFF snmp_set_quick_print(false); snmp_set_valueretrieval(SNMP_VALUE_PLAIN); $session = new SNMP(SNMP::VERSION_3, $hostname, $user_noauth, $timeout, $retries); $session->setSecurity('noAuthNoPriv'); #echo "Checking error handling\n"; var_dump($session->setSecurity()); var_dump($session->setSecurity('')); var_dump($session->setSecurity('bugusPriv')); var_dump($session->setSecurity('authNoPriv', 'TTT')); var_dump($session->setSecurity('authNoPriv', 'MD5', '')); var_dump($session->setSecurity('authNoPriv', 'MD5', 'te')); var_dump($session->setSecurity('authPriv', 'MD5', $auth_pass, 'BBB')); var_dump($session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', '')); var_dump($session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', 'ty')); var_dump($session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', 'test12345', 'context', 'dsa')); 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')); var_dump($session->getErrno() == SNMP::ERRNO_OID_PARSING_ERROR); 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);
function __construct($version, $hostname, $community, $security = null) { switch ($version) { case "1": case "v1": $version = parent::VERSION_1; break; case "2": case "2c": case "v2c": $version = parent::VERSION_2c; break; case "3": case "v3": $version = parent::VERSION_3; break; } parent::__construct($version, $hostname, $community); if ($version == SNMP::VERSION_3) { if ($security !== null && count($security) == 9) { $auth_passphrase = base64_decode($security[6]); $priv_passphrase = base64_decode($security[8]); if (!$this->setsecurity($security[4], $security[5], $auth_passphrase, $security[7], $priv_passphrase)) { $this->error = "Security Error for v3 ({$hostname})"; return; } } else { $this->error = "Missing security settings for v3 ({$hostname})"; return; } } $this->quick_print = 1; $this->oid_output_format = SNMP_OID_OUTPUT_NUMERIC; }
<?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;