mirror of
https://github.com/php/php-src.git
synced 2024-09-26 20:37:29 +00:00
2b8026cfff
move SNMP VERSION constants into SNMP class itself fix typo in comment no more method open fix method names in header
206 lines
5.7 KiB
PHP
206 lines
5.7 KiB
PHP
--TEST--
|
|
OO API
|
|
--CREDITS--
|
|
Boris Lytochkin
|
|
--SKIPIF--
|
|
<?php
|
|
require_once(dirname(__FILE__).'/skipif.inc');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
require_once(dirname(__FILE__).'/snmp_include.inc');
|
|
|
|
//EXPECTF format is quickprint OFF
|
|
snmp_set_enum_print(false);
|
|
snmp_set_quick_print(false);
|
|
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
|
|
snmp_set_oid_output_format(SNMP_OID_OUTPUT_FULL);
|
|
|
|
echo "SNMPv1\n";
|
|
$session = new SNMP(SNMP::VERSION_1, $hostname, $community, $timeout, $retries);
|
|
$session->valueretrieval = SNMP_VALUE_LIBRARY;
|
|
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->get(array('.1.3.6.1.2.1.1.1.0', '.1.3.6.1.2.1.1.3.0')));
|
|
var_dump($session->getnext('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->close());
|
|
|
|
echo "SNMPv2\n";
|
|
$session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
|
|
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->getnext('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->close());
|
|
|
|
echo "GET with preserving original OID names\n";
|
|
$session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
|
|
$orig = array('.1.3.6.1.2.1.1.1.0', '.1.3.6.1.2.1.1.5.0');
|
|
$result = $session->get($orig, TRUE);
|
|
foreach($orig as $oid){
|
|
var_dump($result[$oid]);
|
|
}
|
|
var_dump($session->close());
|
|
|
|
echo "WALK multiple on single OID\n";
|
|
$session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
|
|
$z = $session->walk('.1.3.6.1.2.1.1');
|
|
var_dump(gettype($z));
|
|
var_dump(count($z));
|
|
var_dump(key($z));
|
|
var_dump(array_shift($z));
|
|
var_dump($session->close());
|
|
|
|
echo "WALK multiple on single OID, non_repeaters set to 0\n";
|
|
$session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
|
|
$z = $session->walk('.1.3.6.1.2.1.1', 0);
|
|
var_dump(gettype($z));
|
|
var_dump(count($z));
|
|
var_dump(key($z));
|
|
var_dump(array_shift($z));
|
|
var_dump($session->close());
|
|
|
|
echo "WALK multiple on single OID, non_repeaters set to 0, max_repetitions set to 30\n";
|
|
$session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
|
|
$z = $session->walk('.1.3.6.1.2.1.1', 0, 30);
|
|
var_dump(gettype($z));
|
|
var_dump(count($z));
|
|
var_dump(key($z));
|
|
var_dump(array_shift($z));
|
|
var_dump($session->close());
|
|
|
|
echo "WALK multiple on single OID, max_oids set to 30\n";
|
|
$session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
|
|
$session->max_oids = 30;
|
|
$z = $session->walk('.1.3.6.1.2.1.1');
|
|
var_dump(gettype($z));
|
|
var_dump(count($z));
|
|
var_dump(key($z));
|
|
var_dump(array_shift($z));
|
|
var_dump($session->close());
|
|
|
|
echo "WALK multiple on single OID with OID suffix as keys\n";
|
|
$session = new SNMP(SNMP::VERSION_2c, $hostname, $community, $timeout, $retries);
|
|
$z = $session->walk('.1.3.6.1.2.1.1', TRUE);
|
|
var_dump(gettype($z));
|
|
var_dump(count($z));
|
|
var_dump(key($z));
|
|
var_dump(array_shift($z));
|
|
var_dump($session->close());
|
|
|
|
echo "SNMPv3 (default security settings)\n";
|
|
$session = new SNMP(SNMP::VERSION_3, $hostname, $user_noauth, $timeout, $retries);
|
|
#$session->setSecurity($user_noauth, 'noAuthNoPriv', '', '', '', '', '', '');
|
|
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->getnext('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->close());
|
|
|
|
echo "SNMPv3 (noAuthNoPriv)\n";
|
|
$session = new SNMP(SNMP::VERSION_3, $hostname, $user_noauth, $timeout, $retries);
|
|
$session->setSecurity('noAuthNoPriv');
|
|
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->getnext('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->close());
|
|
|
|
echo "SNMPv3 (authPriv)\n";
|
|
$session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
|
|
$session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
|
|
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->getnext('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->walk('.1.3.6.1.2.1.1.1.0'));
|
|
var_dump($session->close());
|
|
|
|
echo "SET single OID\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';
|
|
$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 "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());
|
|
|
|
?>
|
|
--EXPECTF--
|
|
SNMPv1
|
|
string(%d) "%S"
|
|
array(2) {
|
|
["%s"]=>
|
|
string(%d) "%S"
|
|
["%s"]=>
|
|
string(%d) "%S"
|
|
}
|
|
string(%d) "%S"
|
|
bool(true)
|
|
SNMPv2
|
|
string(%d) "%S"
|
|
string(%d) "%S"
|
|
bool(true)
|
|
GET with preserving original OID names
|
|
string(%d) "%s"
|
|
string(%d) "%s"
|
|
bool(true)
|
|
WALK multiple on single OID
|
|
string(5) "array"
|
|
int(%d)
|
|
string(%d) "%S"
|
|
string(%d) "%S"
|
|
bool(true)
|
|
WALK multiple on single OID, non_repeaters set to 0
|
|
string(5) "array"
|
|
int(%d)
|
|
string(%d) "%S"
|
|
string(%d) "%S"
|
|
bool(true)
|
|
WALK multiple on single OID, non_repeaters set to 0, max_repetitions set to 30
|
|
string(5) "array"
|
|
int(%d)
|
|
string(%d) "%S"
|
|
string(%d) "%S"
|
|
bool(true)
|
|
WALK multiple on single OID, max_oids set to 30
|
|
string(5) "array"
|
|
int(%d)
|
|
string(%d) "%S"
|
|
string(%d) "%S"
|
|
bool(true)
|
|
WALK multiple on single OID with OID suffix as keys
|
|
string(5) "array"
|
|
int(%d)
|
|
string(3) "1.0"
|
|
string(%d) "%s"
|
|
bool(true)
|
|
SNMPv3 (default security settings)
|
|
string(%d) "%S"
|
|
string(%d) "%S"
|
|
bool(true)
|
|
SNMPv3 (noAuthNoPriv)
|
|
string(%d) "%S"
|
|
string(%d) "%S"
|
|
bool(true)
|
|
SNMPv3 (authPriv)
|
|
string(%d) "%S"
|
|
string(%d) "%S"
|
|
array(1) {
|
|
[%s]=>
|
|
string(%d) "%S"
|
|
}
|
|
bool(true)
|
|
SET single OID
|
|
bool(true)
|
|
bool(true)
|
|
bool(true)
|
|
bool(true)
|
|
bool(true)
|
|
SNMPv3, setting contextEngineID (authPriv)
|
|
string(%d) "%S"
|
|
bool(true)
|