CakeFest 2024: The Official CakePHP Conference

snmp3_real_walk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_real_walk指定したすべてのオブジェクトとそのオブジェクト ID を返す

説明

snmp3_real_walk(
    string $hostname,
    string $security_name,
    string $security_level,
    string $auth_protocol,
    string $auth_passphrase,
    string $privacy_protocol,
    string $privacy_passphrase,
    array|string $object_id,
    int $timeout = -1,
    int $retries = -1
): array|false

snmp3_real_walk() 関数は、 object_id から始まる SNMP オブジェクトを走査し、その値とオブジェクト ID を返します。

パラメータ

hostname

SNMP エージェント (サーバー) のホスト名。

security_name

セキュリティ名。通常はユーザー名のようなもの。

security_level

セキュリティレベル (noAuthNoPriv|authNoPriv|authPriv)。

auth_protocol

認証プロトコル ("MD5", "SHA", "SHA256", "SHA512")。

auth_passphrase

認証パスフレーズ。

privacy_protocol

プライバシープロトコル (DES あるいは AES)。

privacy_passphrase

プライバシーパスフレーズ。

object_id

SNMP オブジェクト ID。

timeout

最初のタイムアウトまでのマイクロ秒数。

retries

タイムアウト発生時の再試行回数。

戻り値

成功した場合に SNMP オブジェクト ID とその値の連想配列。エラー時に false を返します。 エラー時には E_WARNING が発生します。

変更履歴

バージョン 説明
8.1.0 auth_protocol は、 libnetsnmp がサポートする場合に、 新たに "SHA256""SHA512" を受け入れるようになりました。

例1 snmp3_real_walk() の使用法

<?php
var_export
(snmp3_real_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName'));
?>

上の例の結果は次のようになります。

array (
  'IF-MIB::ifName.1' => 'STRING: lo',
  'IF-MIB::ifName.2' => 'STRING: eth0',
  'IF-MIB::ifName.3' => 'STRING: eth2',
  'IF-MIB::ifName.4' => 'STRING: sit0',
  'IF-MIB::ifName.5' => 'STRING: sixxs',
)

参考

  • snmpwalk() - エージェントから全ての SNMP オブジェクトを取得する

add a note

User Contributed Notes 1 note

up
0
Anonymous
11 years ago
Use this function for debug snmp-connection.

<?php
error_reporting
(8191);
date_default_timezone_set('Europe/Moscow');
ini_set('display_errors',1);

snmp_test_connection('12.34.56.78', 'guest', 'guest')

function
snmp_test_connection($ip, $user, $pass){
$a = array('noAuthNoPriv','authNoPriv','authPriv');
$b = array('MD5','SHA');
$c = array('DES','AES');

$branch = '.1.3.6.1.2.1.1.3'; // upTime

foreach($a as $aPriv)
foreach(
$b as $bProt)
foreach(
$c as $cPrivProt){
echo
'time = '.date('Y-m-d H:i:s').'<br/>';
echo
'<b>sec_level=</b>'.$aPriv.'<br/><b>auth_protocol=</b>'.$bProt.'<br/><b>priv_protocol=</b>'.$cPrivProt.'<br/>Request = ';
var_dump(
snmp3_real_walk($ip, $user, $aPriv, $bProt, $pass, $cPrivProt, $pass, $branch)
);
}
}

?>
To Top